.source-toggle[data-v-21d71732]{display:flex;gap:0;border:1px solid #e0e4eb;border-radius:8px;overflow:hidden}.source-toggle__btn[data-v-21d71732]{flex:1;padding:.4rem .75rem;font-size:.85rem;border:none;background:#f6f8fa;color:#6c757d;cursor:pointer;transition:background .15s,color .15s}.source-toggle__btn[data-v-21d71732]:not(:last-child){border-right:1px solid #e0e4eb}.source-toggle__btn.active[data-v-21d71732]{background:#4caf50;color:#fff;font-weight:600}.source-toggle__btn[data-v-21d71732]:hover:not(.active){background:#eef2f7}.nutrient-preview[data-v-21d71732]{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin:-.25rem 0 .75rem;padding:.5rem .6rem;background:#f6f8fa;border-radius:6px;font-size:.82rem}.np__item[data-v-21d71732]{color:#6c757d}.np__protein[data-v-21d71732]{color:#2196f3;font-weight:600}.np__carbs[data-v-21d71732]{color:#ff9800;font-weight:600}.np__fat[data-v-21d71732]{color:#9c27b0;font-weight:600}.modal-overlay[data-v-f81bc61f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-window[data-v-f81bc61f]{background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000002e;width:100%;max-height:90vh;overflow-y:auto}.modal-enter-active[data-v-f81bc61f],.modal-leave-active[data-v-f81bc61f]{transition:opacity .18s ease}.modal-enter-active .modal-window[data-v-f81bc61f],.modal-leave-active .modal-window[data-v-f81bc61f]{transition:transform .18s ease}.modal-enter-from[data-v-f81bc61f],.modal-leave-to[data-v-f81bc61f]{opacity:0}.modal-enter-from .modal-window[data-v-f81bc61f],.modal-leave-to .modal-window[data-v-f81bc61f]{transform:scale(.95) translateY(-8px)}.import-ok[data-v-70963967]{font-size:.8rem;color:var(--color-ok, #2a9d60)}.import-err[data-v-70963967]{font-size:.8rem;color:var(--color-danger, #e53e3e)}.login-page[data-v-790bccd0]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg, #f5f5f5)}.login-card[data-v-790bccd0]{background:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:2.5rem 2rem;width:100%;max-width:380px;display:flex;flex-direction:column;gap:1.25rem}.login-card__title[data-v-790bccd0]{font-size:1.5rem;font-weight:700;margin:0;text-align:center}.login-card__subtitle[data-v-790bccd0]{margin:-.75rem 0 0;text-align:center;color:#666;font-size:.9rem}.login-card__error[data-v-790bccd0]{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;border-radius:6px;padding:.6rem .9rem;font-size:.875rem}.field[data-v-790bccd0]{display:flex;flex-direction:column;gap:.35rem}.field__label[data-v-790bccd0]{font-size:.875rem;font-weight:600;color:#374151}.field__input[data-v-790bccd0]{padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .15s}.field__input[data-v-790bccd0]:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.btn--block[data-v-790bccd0]{width:100%;padding:.65rem;font-size:1rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#f4f6f9;color:#1a1a2e;line-height:1.6}a{color:#4f8ef7;text-decoration:none}a:hover{text-decoration:underline}#layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;width:100%}.navbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e0e4eb;padding:0 2rem;height:60px;box-shadow:0 2px 6px #00000014;position:sticky;top:0;z-index:100}.navbar__brand a{font-size:1.25rem;font-weight:700;color:#1a1a2e;letter-spacing:-.3px}.navbar__links{display:flex;gap:1.5rem}.navbar__links a{color:#6c757d;font-weight:500;transition:color .2s ease;padding:.25rem 0;border-bottom:2px solid transparent}.navbar__links a:hover,.navbar__links a.router-link-active{color:#4f8ef7;border-bottom-color:#4f8ef7;text-decoration:none}.card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 10px #00000014;border:1px solid #e0e4eb}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.day-card{background:#fff;border-radius:10px;padding:1.5rem 1.75rem;border:1px solid #e0e4eb;box-shadow:0 1px 6px #00000014;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.day-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #4f8ef726}.day-card__date{font-size:.85rem;color:#6c757d;margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.day-card__title{font-size:1.05rem;font-weight:600;margin-bottom:.75rem}.day-card__stat{display:flex;justify-content:space-between;font-size:1rem;margin-bottom:.35rem}.day-card__stat-label{color:#6c757d}.day-card__stat-value{font-weight:600}.day-card__stat-value.intake{color:#4caf50}.day-card__stat-value.expenditure{color:#f44336}.day-card__net{margin-top:.6rem;padding-top:.6rem;border-top:1px solid #e0e4eb;font-size:.9rem;font-weight:600;color:#1a1a2e}.day-card__macros{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e4eb;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .25rem}.day-card__macro{display:flex;flex-direction:column;gap:.1rem}.day-card__macro-label{font-size:.7rem;color:#6c757d;text-transform:uppercase;letter-spacing:.4px}.day-card__macro-value{font-size:.88rem;font-weight:600;color:#1a1a2e}.day-card__macro-value.mac--good{color:#4caf50}.day-card__macro-value.mac--bad{color:#f44336}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:#4f8ef7;color:#fff}.btn--primary:hover:not(:disabled){background:#3575e0}.btn--danger{background:#f44336;color:#fff}.btn--danger:hover:not(:disabled){background:#ea1c0d}.btn--ghost{background:transparent;color:#4f8ef7;border:1px solid #4f8ef7}.btn--ghost:hover:not(:disabled){background:#4f8ef70f}.btn--sm{padding:.3rem .65rem;font-size:.78rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem;color:#6c757d}.form-group small.form-hint{display:block;margin-top:.3rem;font-size:.78rem;color:#6c757d}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #e0e4eb;border-radius:10px;font-size:.95rem;background:#f4f6f9;color:#1a1a2e;outline:none;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f8ef7;background:#fff}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}table th{text-align:left;padding:.6rem .75rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6c757d;border-bottom:2px solid #e0e4eb;white-space:nowrap}table td{padding:.65rem .75rem;border-bottom:1px solid #e0e4eb;vertical-align:middle}table tbody tr:hover{background:#4f8ef708}table .actions{display:flex;gap:.4rem;justify-content:flex-end}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge--intake{background:#4caf501a;color:#4caf50}.badge--expenditure{background:#f443361a;color:#f44336}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:.75rem}.page-header h1{font-size:1.6rem;font-weight:700;letter-spacing:-.5px}.tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e4eb;margin-bottom:1.5rem;flex-wrap:wrap}.tabs__tab{padding:.6rem 1.2rem;border:none;background:transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:#6c757d;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s ease,border-color .2s ease}.tabs__tab.active{color:#4f8ef7;border-bottom-color:#4f8ef7;font-weight:600}.tabs__tab:hover:not(.active){color:#1a1a2e}.empty-state{text-align:center;padding:3rem;color:#6c757d;font-size:1rem}.loading{text-align:center;padding:2rem;color:#6c757d}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:#1a1a2e}.modal-body{padding:1.75rem}.modal-body h2{font-size:1.2rem;font-weight:700;margin-bottom:1.25rem}.modal-body .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.chart-container{width:100%;overflow-x:auto;margin-bottom:2rem}.chart-container svg{display:block}.nutrient-chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.nutrient-chart-card{padding:1rem}.chart-container-sm{width:100%;overflow-x:auto}.chart-container-sm svg{display:block}.nutrient-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.nutrient-badge{background:#f4f6f9;border:1px solid #e0e4eb;border-radius:999px;padding:.1rem .6rem;font-size:.72rem;color:#6c757d;white-space:nowrap}.nutrient-badge span{font-weight:700;color:#1a1a2e}.ingredient-list{display:flex;flex-direction:column;gap:.5rem;max-height:260px;overflow-y:auto;border:1px solid #e0e4eb;border-radius:10px;padding:.5rem;background:#f4f6f9;margin-bottom:.75rem}.ingredient-list__row{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:10px;padding:.4rem .6rem}.ingredient-list__row-name{flex:1;font-size:.88rem}.ingredient-list__row input[type=number]{width:80px;padding:.25rem .4rem;font-size:.88rem}.ing-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.ing-card{background:#fff;border-radius:10px;border:1px solid #e0e4eb;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ing-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.ing-card__name{font-weight:700;font-size:1rem;color:#1a1a2e;flex:1}.ing-card__kcal{font-size:.82rem;font-weight:600;color:#4f8ef7;white-space:nowrap}.ing-card__nutrients{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.ing-card__nutrient{display:flex;flex-direction:column;align-items:center;background:#4f8ef70a;border-radius:6px;padding:.3rem .4rem}.ing-card__nutrient-label{font-size:.68rem;color:#6c757d;text-transform:uppercase;letter-spacing:.03em}.ing-card__nutrient-value{font-size:.82rem;font-weight:600;color:#1a1a2e}.ing-card__nutrient-value.nut--good{color:#4caf50}.ing-card__nutrient-value.nut--bad{color:#f44336}.ing-card__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:auto}.ing-card__ingredients{font-size:.76rem;color:#6c757d;line-height:1.5;border-top:1px solid #e0e4eb;padding-top:.5rem}
