.diary-container{display:flex;flex-direction:column;gap:40px;width:100%;max-width:1400px;margin:0 auto;padding:20px;box-sizing:border-box}.diary-header{display:flex;justify-content:center;width:100%;margin-bottom:2rem}.date-navigator{display:flex;align-items:center;gap:20px;background:var(--surface);padding:8px 12px;border-radius:20px;border:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:var(--transition)}.date-navigator:hover{border-color:rgba(var(--primary-rgb,16,185,129),.3);box-shadow:0 8px 30px rgba(0,0,0,.3)}.date-display{display:flex;align-items:center;gap:8px}.date-navigator .icon-btn{background:var(--background);border:1px solid var(--border);color:var(--text-muted);width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.date-navigator .icon-btn:hover{background:var(--surface-hover);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.date-text{font-size:1.1rem;font-weight:800;min-width:180px;text-align:center;letter-spacing:-.01em;color:var(--text)}.calendar-picker-wrapper{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:14px;transition:var(--transition);color:var(--primary);background:rgba(var(--primary-rgb,16,185,129),.1);border:1px solid rgba(var(--primary-rgb,16,185,129),.15)}.calendar-picker-wrapper:hover{background:var(--primary);color:white;transform:translateY(-1px)}.date-input-hidden{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.diary-grid{gap:40px}.diary-grid,.diary-sidebar{display:flex;flex-direction:column;width:100%}.diary-sidebar{gap:24px}.diary-main-list{width:100%;display:flex;flex-direction:column;gap:24px}@media (min-width:1024px){.diary-grid{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:flex-start}.diary-sidebar{order:1;position:sticky;top:100px}.diary-main-list{order:0}}.planned-event-alert{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;border-radius:24px;margin-bottom:2rem;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;background:rgba(255,255,255,.03)}.planned-event-alert:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary)}.planned-event-alert.holiday:before{background:#facc15}.planned-event-alert.social:before{background:#f472b6}.planned-event-alert.work:before{background:#60a5fa}.planned-event-alert.anniversary:before{background:#fb7185}.planned-event-alert.other:before{background:#94a3b8}.planned-event-alert.strategy-mode:before{background:var(--primary)}.planned-event-alert.tag-mode:before{background:#475569}.planned-event-alert .alert-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);flex-shrink:0}.planned-event-alert.holiday .alert-icon{color:#facc15;background:rgba(250,204,21,.15)}.planned-event-alert.social .alert-icon{color:#f472b6;background:rgba(244,114,182,.15)}.planned-event-alert.work .alert-icon{color:#60a5fa;background:rgba(96,165,250,.15)}.planned-event-alert.anniversary .alert-icon{color:#fb7185;background:rgba(251,113,133,.15)}.planned-event-alert.other .alert-icon{color:#94a3b8;background:rgba(148,163,184,.15)}.planned-event-alert.strategy-mode .alert-icon{color:var(--primary);background:rgba(var(--primary-rgb),.15)}.planned-event-alert.tag-mode .alert-icon{color:#94a3b8;background:rgba(148,163,184,.1)}.planned-event-alert .alert-content{flex:1 1}.event-type-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;opacity:.7}.planned-event-alert h3{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.01em}.planned-event-alert p{margin:.5rem 0 0;font-size:.95rem;color:var(--text-muted);line-height:1.5}@media (max-width:1023px){.diary-sidebar{display:contents}.daily-summary{order:-1}.diary-main-list{order:0}.vitamin-routine-bar{order:1;margin-top:2rem!important}.planned-event-alert.strategy-mode{padding:1rem;gap:1rem;margin-bottom:1.5rem;border-radius:16px}.planned-event-alert.strategy-mode .alert-icon{width:36px;height:36px;border-radius:10px}.planned-event-alert.strategy-mode .alert-icon svg{width:18px;height:18px}.planned-event-alert.strategy-mode h3{font-size:1.1rem}.planned-event-alert.strategy-mode p{font-size:.85rem;margin-top:.25rem}}.meal-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.meal-section:hover{transform:translateY(-4px);box-shadow:0 12px 20px -8px rgba(0,0,0,.1);border-color:rgba(var(--primary-rgb),.2)}.meal-header{padding:24px 32px;justify-content:space-between;background:linear-gradient(90deg,rgba(255,255,255,.02),transparent);border-bottom:1px solid var(--border-light)}.meal-header,.meal-title-group{display:flex;align-items:center}.meal-title-group{gap:16px;flex:1 1}.meal-icon-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-hover);border-radius:14px;color:var(--primary);transition:var(--transition)}.meal-section:hover .meal-icon-wrapper{background:var(--primary);color:white}.meal-name{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.meal-total-cals{font-weight:800;font-size:1.1rem;color:var(--primary);margin-right:20px;letter-spacing:-.01em}.meal-actions{display:flex;align-items:center;gap:16px}.meal-stats-group{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-right:12px}.meal-stats-row{display:flex;align-items:center;gap:12px}.meal-macros-summary{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.meal-macros-summary .macro-p{color:var(--protein)}.meal-macros-summary .macro-c{color:var(--carbs)}.meal-macros-summary .macro-f{color:var(--fat)}.item-details-discrete{opacity:.6;font-size:.8rem}.meal-progress-mini{width:80px;height:4px;background:var(--surface-hover);border-radius:4px;overflow:hidden}.meal-progress-bar-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .6s ease}.meal-progress-bar-fill.surplus{background:#ef4444}.add-food-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;background:var(--surface-hover);border:1px solid var(--border);color:var(--text);font-size:.9rem;font-weight:700;transition:var(--transition)}.add-food-btn:hover{background:var(--primary);color:white;border-color:var(--primary);transform:scale(1.05)}.add-food-btn.camera-btn,.add-food-btn.scan-plate-btn{padding:10px;width:42px;height:42px;justify-content:center}.add-food-btn.scan-plate-btn{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(99,102,241,.1));border-color:rgba(139,92,246,.3);color:#a78bfa}.add-food-btn.scan-plate-btn:hover{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:white;border-color:#8b5cf6}.daily-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 32px;box-shadow:0 4px 15px -3px rgba(0,0,0,.05);margin-bottom:24px}.summary-content{display:flex;flex-direction:row;align-items:center;justify-content:space-around;gap:40px;width:100%}@media (max-width:900px){.summary-content{gap:20px;justify-content:center}}@media (max-width:768px){.summary-content{flex-direction:column;gap:40px}}.calorie-progress-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.calorie-ring-container svg{fill:none!important;background:transparent!important}.summary-value-overlay{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}.calorie-text-main{display:flex;align-items:baseline;gap:2px;color:var(--text);transition:color .3s ease}.calorie-text-main.surplus-mode{color:#ef4444}.calorie-text-main .current{font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.calorie-text-main .slash{font-size:.9rem;opacity:.3;margin:0 1px}.calorie-text-main .goal{font-size:.9rem;opacity:.6;font-weight:700}.summary-value-overlay .unit{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-top:2px;letter-spacing:.05em}.summary-macros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;flex:1 1;max-width:700px}@media (max-width:768px){.summary-macros-grid{grid-template-columns:1fr;gap:16px}}.macro-small{display:flex;flex-direction:column;gap:10px}.macro-small-header{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:700}.macro-label-group{display:flex;align-items:center;gap:10px}.macro-dot{width:6px;height:6px;border-radius:50%}.ring-bg{stroke:var(--border);opacity:.15}.macro-pct{font-size:.75rem;padding:2px 6px;background:var(--surface-hover);border-radius:4px;font-weight:800}.macro-small .value{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.macro-small .value small{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-left:2px}.mini-progress-bg{height:8px;background:var(--surface-hover);border-radius:10px;overflow:hidden;border:1px solid var(--border-light)}.mini-progress-bar{height:100%;border-radius:10px;transition:width 1s cubic-bezier(.16,1,.3,1)}.meal-items{padding:0 32px 24px}.logged-item{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--border-light);gap:12px}.logged-item-thumb-wrapper{position:relative;flex-shrink:0}.logged-item-thumbnail{width:48px;height:48px;border-radius:10px;object-fit:cover}.logged-item-placeholder{width:48px;height:48px;border-radius:10px;background:var(--surface-hover);border:1px solid var(--border-light);color:var(--text-muted)}.logged-item-placeholder,.meal-type-indicator{display:flex;align-items:center;justify-content:center}.meal-type-indicator{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;border-radius:50%;background:var(--primary);color:white;border:2px solid var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.2)}.logged-item:last-child{border-bottom:none}.item-name{font-weight:700;font-size:1.1rem;margin-bottom:6px;color:var(--text)}.item-details{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:500;color:var(--text-muted)}.dot-separator{width:3px;height:3px;background:var(--text-muted);border-radius:50%;opacity:.3}.item-cals{font-weight:600;font-size:.85rem;opacity:.7}.empty-meal,.item-cals{color:var(--text-muted)}.empty-meal{padding:24px 0;font-size:1rem;font-style:italic;opacity:.6;text-align:center}.animate-fade-in{animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0}to{opacity:1}}.item-name-group{display:flex;align-items:center;gap:6px}.library-source-icon{color:var(--primary);opacity:.6}.item-controls{display:flex;align-items:center;gap:12px}.item-actions-btns{display:flex;gap:4px;opacity:0;transition:opacity .2s}.logged-item:hover .item-actions-btns{opacity:1}.item-action-btn{background:none;border:none;padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--text-muted)}.item-action-btn:hover{background:rgba(255,255,255,.05)}.item-action-btn.edit:hover{color:var(--primary)}.item-action-btn.delete:hover{color:#ef4444}@media (max-width:768px){.item-actions-btns{opacity:1}}.macro-sub-value,.net-carb-secondary{font-size:.8rem;color:var(--text-muted);font-weight:600}.macro-sub-value{margin-top:-8px;margin-bottom:4px}.plan-confirmation-banner{padding:24px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;border:1px solid rgba(var(--primary-rgb),.3);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--primary-rgb),.05));margin-bottom:24px;border-radius:var(--radius-lg)}.banner-content{display:flex;align-items:center;gap:16px;flex:1 1}.banner-content h4{margin:0 0 4px;font-size:1.1rem;font-weight:700}.banner-content p{margin:0}.banner-actions{display:flex;gap:12px}.plan-status-banner{padding:16px 24px;margin-bottom:24px;border-radius:var(--radius-lg)}.plan-status-banner .banner-content{gap:12px}.btn-small{padding:8px 16px!important;font-size:.85rem!important}.animate-slide-down{animation:slideDown .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.plan-confirmation-banner{flex-direction:column;align-items:flex-start;gap:16px}.banner-actions{width:100%;display:flex}.banner-actions button{flex:1 1}}.planned-badge-mini{font-size:.6rem;font-weight:600;padding:2px 6px;background:rgba(var(--primary-rgb),.1);color:var(--primary);border-radius:4px;text-transform:uppercase;letter-spacing:.03em;opacity:.7;white-space:nowrap}.planned-group{display:flex;align-items:center;gap:8px}.deviate-meal-btn{font-size:.65rem;padding:2px 8px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-weight:600;text-transform:uppercase;transition:all .2s}.deviate-meal-btn:hover{background:rgba(239,68,68,.1);color:#ef4444;border-color:rgba(239,68,68,.2)}@media (max-width:480px){.diary-container{gap:20px;padding:8px}.date-navigator{padding:10px 14px;gap:10px}.date-text{font-size:.95rem;min-width:140px}.daily-summary.compact-summary{padding:14px;border-radius:14px}.summary-content{flex-direction:row;align-items:center;gap:16px;flex-wrap:nowrap}.calorie-progress-wrapper{flex-shrink:0}.summary-macros-grid{grid-template-columns:1fr;gap:10px;flex:1 1;max-width:none}.macro-small{gap:4px}.macro-small-header{font-size:.75rem}.macro-small .value{font-size:.95rem}.macro-small .value small{font-size:.7rem}.mini-progress-bg{height:5px}.macro-sub-value{font-size:.65rem;margin-top:-4px}.diary-grid{gap:20px}.diary-main-list{gap:14px}.meal-section{border-radius:14px}.meal-header{padding:14px;flex-wrap:wrap;gap:10px}.meal-title-group{gap:10px}.meal-icon-wrapper{width:32px;height:32px;border-radius:8px}.meal-name{font-size:.95rem}.meal-actions{gap:6px}.meal-stats-group{margin-right:0}.meal-total-cals{font-size:.85rem;margin-right:6px}.meal-stats-row{flex-direction:column;align-items:flex-end;gap:2px}.meal-macros-summary{font-size:.65rem;gap:6px}.add-food-btn{padding:6px 10px;font-size:.75rem;border-radius:8px}.add-food-btn.camera-btn{width:32px;height:32px;padding:6px}.meal-items{padding:0 14px 14px}.logged-item{padding:12px 0;gap:8px}.logged-item-placeholder,.logged-item-thumbnail{width:36px;height:36px;border-radius:6px}.meal-type-indicator{width:14px;height:14px}.meal-type-indicator svg{width:8px;height:8px}.item-name{font-size:.9rem;margin-bottom:3px}.item-details{font-size:.7rem;gap:6px;flex-wrap:wrap}.item-cals{font-size:.9rem}.item-controls{gap:6px}.item-actions-btns{opacity:1}.empty-meal{padding:14px 0;font-size:.85rem}.plan-confirmation-banner{padding:14px;flex-direction:column;align-items:flex-start;gap:12px;border-radius:14px;margin-bottom:14px}.banner-content{gap:10px}.banner-content h4{font-size:.9rem}.banner-content p{font-size:.75rem}.banner-actions{width:100%;display:flex;flex-direction:column;gap:8px}.banner-actions button{width:100%;padding:10px 12px!important;font-size:.8rem!important}.plan-status-banner{padding:10px 14px;margin-bottom:14px;border-radius:10px}.planned-badge-mini{font-size:.6rem;padding:2px 5px}.deviate-meal-btn{font-size:.6rem;padding:2px 6px}}.revert-meal-btn{font-size:.65rem;padding:2px 8px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-weight:600;text-transform:uppercase;transition:all .2s;margin-left:8px}.revert-meal-btn:hover{background:rgba(34,197,94,.1);color:#22c55e;border-color:rgba(34,197,94,.2)}.status-toggle-btn{background:none;border:none;padding:4px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.status-toggle-btn:hover{background:rgba(239,68,68,.15);transform:scale(1.1)}.status-toggle-btn:hover svg{color:#ef4444!important}.text-danger{color:#ef4444}.vitamin-routine-bar{padding:24px 20px;display:flex;flex-direction:column;gap:24px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(255,255,255,.03));border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.routine-header{justify-content:space-between}.routine-header,.routine-title{display:flex;align-items:center}.routine-title{gap:10px;font-size:.95rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.routine-progress{display:flex;align-items:center;gap:12px}.progress-text{font-size:.8rem;font-weight:600;color:var(--text-muted)}.progress-mini-track{width:60px;height:6px;background:rgba(255,255,255,.05);border-radius:10px;overflow:hidden}.progress-mini-fill{height:100%;background:var(--primary);border-radius:10px;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px rgba(var(--primary-rgb),.3)}.vitamin-pill-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:1024px){.vitamin-pill-grid{grid-template-columns:1fr}}@media (max-width:1023px){.vitamin-pill-grid{display:flex;flex-wrap:wrap;gap:10px}.vitamin-pill-chip{flex:1 1 auto;justify-content:center}}.vitamin-pill-chip{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:30px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.pill-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);transition:all .3s ease}.vitamin-pill-chip:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}.vitamin-pill-chip.taken{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#4ade80;box-shadow:0 4px 15px -3px rgba(34,197,94,.1)}.vitamin-pill-chip.taken .pill-dot{background:#4ade80;box-shadow:0 0 8px #4ade80}.meal-vitamin-tags{display:flex;gap:8px;margin-left:12px}.vitamin-tag{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.vitamin-tag:hover{background:rgba(255,255,255,.08);color:var(--text)}.vitamin-tag.taken{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.2);color:#4ade80}@media (max-width:480px){.vitamin-routine-bar{padding:12px 14px;gap:12px}.vitamin-pill-chip{padding:6px 12px;font-size:.8rem}.meal-vitamin-tags{margin-left:0;width:100%;margin-top:8px;overflow-x:auto;padding-bottom:4px}.vitamin-tag{flex-shrink:0}}