.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none}.btn:hover{opacity:.9}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-small{font-size:14px;padding:8px 16px}.btn-medium{font-size:16px;padding:12px 24px}.btn-large{font-size:18px;padding:16px 32px}.btn.action-button{border-radius:50%;font-size:16px;height:36px;min-width:36px;padding:0}.btn-primary{color:#fff}.btn-secondary{background:#fff;border:1px solid var(--border);color:var(--hint-color)}.btn-danger{background:#e03838;color:#fff}.date-selector{display:inline-block;position:relative;-webkit-user-select:none;user-select:none}.date-selector__button{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;font-family:inherit;gap:8px;text-align:left;transition:all .2s;width:100%}.date-selector__button:hover:not(.date-selector__button--disabled){background-color:var(--theme-secondary-bg-color,#f8f9fa)}.date-selector__button--disabled{cursor:not-allowed;opacity:.6}.date-selector--header .date-selector__button{font-size:inherit;justify-content:flex-start;padding:8px 12px}.date-selector__label,.date-selector__value{font-size:20px;font-weight:600}.date-selector__value{color:var(--main-green)}.date-selector--input{width:100%}.date-selector--input .date-selector__button{background:var(--main-background);border:1px solid var(--border);border-radius:8px;justify-content:space-between;min-height:48px;padding:12px 16px}.date-selector--input .date-selector__button:focus{outline:2px solid var(--main-green);outline-offset:-2px}.date-selector__form-label{color:var(--text-color);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.date-selector__form-label--required:after{color:#dc3545;content:" *"}.date-selector__input-content{align-items:center;display:flex;flex:1 1;gap:8px}.date-selector__emoji{font-size:18px;line-height:1}.date-selector__input-value{font-size:16px;font-weight:400}.date-selector--small .date-selector__button{min-height:36px;padding:6px 10px}.date-selector--small .date-selector__input-value,.date-selector--small .date-selector__label,.date-selector--small .date-selector__value{font-size:14px}.date-selector--large .date-selector__button{min-height:56px;padding:16px 20px}.date-selector--large .date-selector__input-value{font-size:18px}.date-selector--large .date-selector__label,.date-selector--large .date-selector__value{font-size:22px}.date-selector__icon{color:var(--theme-hint-color,#999);transition:transform .2s}.date-selector__icon--rotated{transform:rotate(180deg)}.date-selector__calendar{animation:fadeIn .2s ease-out;background:var(--main-background);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 12px #0000001a;left:0;min-width:280px;padding:16px;position:absolute;right:0;top:100%;z-index:1000}.date-selector__calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.date-selector__nav-button{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.date-selector__nav-button:hover{background-color:var(--theme-secondary-bg-color,#f8f9fa)}.date-selector__month-title{color:var(--text-color);font-size:16px;font-weight:600;margin:0;text-transform:capitalize}.date-selector__weekdays{display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.date-selector__weekday{color:var(--theme-hint-color,#999);font-size:12px;font-weight:600;padding:8px 4px;text-align:center}.date-selector__days{display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.date-selector__day{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;min-height:36px;padding:8px;transition:all .2s}.date-selector__day:hover{background-color:var(--theme-secondary-bg-color,#f8f9fa)}.date-selector__day--other-month{color:var(--theme-hint-color,#ccc)}.date-selector__day--selected{background-color:var(--main-green);color:var(--main-background)}.date-selector__day--selected:hover{background-color:var(--theme-button-color,#28a559);opacity:1}.date-selector__day--today{color:var(--main-green);font-weight:700}.date-selector__day--today.date-selector__day--selected{color:var(--main-background)}.date-selector--fullscreen .date-selector__button{font-size:18px;padding:12px 16px}.date-selector__fullscreen-header{display:none}.date-selector__fullscreen-title{color:var(--text-color);font-size:20px;font-weight:600;margin:0}.date-selector__close-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.date-selector__close-button:hover{background-color:var(--theme-secondary-bg-color,#f8f9fa)}@media (max-width:768px){.date-selector__fullscreen-header{align-items:center;background:var(--main-background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px;position:sticky;top:0;z-index:1}.date-selector__calendar{animation:slideUp .3s ease-out!important;background:var(--main-background)!important;border:none!important;border-radius:0!important;display:flex!important;flex-direction:column!important;height:100dvh!important;inset:0!important;max-width:none!important;min-width:auto!important;padding:0!important;position:fixed!important;width:100vw!important;z-index:9999!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.date-selector__calendar-header{margin-bottom:0!important;padding:20px!important}.date-selector__month-title{font-size:20px!important}.date-selector__nav-button{padding:12px!important}.date-selector__weekdays{margin-bottom:16px!important;padding:0 20px!important}.date-selector__weekday{font-size:14px!important;padding:12px 4px!important}.date-selector__days{flex:1 1!important;gap:4px!important;padding:0 20px 20px!important}.date-selector__day{border-radius:8px!important;font-size:16px!important;min-height:48px!important}.date-selector__button{padding:12px 16px}.date-selector__label,.date-selector__value{font-size:18px}body:has(.date-selector__calendar){overflow:hidden!important}}.select{position:relative;width:-moz-fit-content;width:fit-content}.select-btn{background:#fafafa;border:none;border-bottom:1.5px solid #e5e7eb;border-radius:8px 8px 0 0;color:#111827;cursor:pointer;font-size:.875rem;font-weight:400;justify-content:space-between;outline:none;padding:10px 12px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.select-btn,.select-btn-content{align-items:center;display:flex;gap:8px}.select-btn-content{flex:1 1}.select-btn:hover{background:#f5f5f5;border-bottom-color:#d1d5db}.select-btn:active,.select-btn:focus{background:#fff;border-bottom-color:var(--main-green);border-bottom-width:2px;box-shadow:0 1px 2px #0000000d}.select-icon{font-size:1.125rem;line-height:1}.select-dropdown-icon{color:#d1d5db;flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}.select-dropdown-icon--rotated{transform:rotate(180deg)}.select-backdrop{animation:fadeIn .2s ease;background-color:#00000080;inset:0;position:fixed;z-index:1100}.select-bottom-sheet{animation:slideUp .3s ease;background-color:var(--main-background,#fff);border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -4px 24px #0000001a;left:0;max-height:70dvh;position:fixed;right:0;z-index:1101}.select-sheet-header{align-items:center;border-bottom:1px solid var(--border,#e9ecef);display:flex;justify-content:flex-end;padding:12px 16px}.select-close-btn{background-color:initial;border:none;border-radius:8px;color:var(--main-green,#179c49);cursor:pointer;font-size:16px;padding:8px 16px;transition:background-color .2s ease}.select-close-btn:active{background-color:#0000000d}.select-menu{list-style:none;margin:0;max-height:calc(70dvh - 60px);overflow-y:auto;padding:8px 16px 16px}.select-option{align-items:center;background:none;border:none;border-radius:12px;color:var(--text-color);cursor:pointer;display:flex;font-size:16px;gap:12px;padding:16px 12px;text-align:left;transition:background-color .2s ease;width:100%}.select-option:active{background-color:#0000000d}.select-option-active{background-color:#179c4914;color:var(--main-green,#179c49);font-weight:600}.select-empty{color:var(--hint-color,#6c757d);font-size:16px;padding:16px 12px;text-align:center}.select-backdrop--closing{animation:fadeOut .25s ease}.select-bottom-sheet--closing{animation:slideDown .25s ease}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.loading-spinner{align-items:center;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}.spinner{animation:spin 1s linear infinite;border-top:2px solid var(--border);border:2px solid var(--border);border-radius:50%;border-top-color:var(--main-green)}.loading-spinner-small .spinner{height:16px;width:16px}.loading-spinner-medium .spinner{height:24px;width:24px}.loading-spinner-large .spinner{height:32px;width:32px}.phone-request-notification{align-items:center;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;padding:16px;text-align:center;width:100%}.phone-request-notification h3{color:var(--text-color);font-size:20px;font-weight:600}.phone-request-notification p{color:var(--hint-color);font-size:14px;line-height:1.5;margin:0 0 12px;max-width:400px}@media (max-width:632px){.notification-icon{font-size:40px}.phone-request-notification h3{font-size:18px}.phone-request-notification p{font-size:13px}}.kbju-notification{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.notification-icon{font-size:48px;margin-bottom:16px;opacity:.8}.kbju-notification h3{color:var(--text-color);font-size:20px;font-weight:600}.kbju-notification p{color:var(--hint-color);font-size:14px;line-height:1.5;margin:0 0 12px;max-width:400px}.notification-actions{display:flex;gap:12px}.btn-primary{background:var(--main-green);border:none;border-radius:8px;color:var(--main-background);cursor:pointer;font-size:14px;font-weight:500;min-width:140px;padding:12px 24px;transition:all .2s ease}.btn-primary:hover{background:var(--main-green);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}@media (max-width:632px){.notification-icon{font-size:40px}.kbju-notification h3{font-size:18px}.kbju-notification p{font-size:13px}}.meal-time{display:flex;gap:12px}.meal-time-selector{background:var(--main-background);border:1px solid #00000008;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;flex:1 1}.meal-time .select{height:100%;width:100%}.meal-time .select-btn,.meal-time-selector .date-selector__button{background:#0000;border:none;color:#374151;font-size:16px;font-weight:500;height:100%;outline:none;padding:14px 10px 14px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%;.date-selector__input-value{color:#374151;font-size:16px;font-weight:500}}.meal-time .date-selector__button:focus,.meal-time .date-selector__button:hover,.meal-time .date-selector__button:hover:not(.date-selector__button--disabled),.meal-time .select-btn:focus,.meal-time .select-btn:hover{background:#0000;border:none;box-shadow:none;color:#111827;outline:none;.date-selector__input-value{color:#111827}}.meal-time .date-selector__icon,.meal-time .date-selector__icon--rotated{color:#d1d5db}.nutrition-preview-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:6px}.nutrition-preview-header h4{color:#6b7280;font-size:14px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.nutrition-edit-toggle{align-items:center;background:#0000;border:none;color:#047857;cursor:pointer;display:inline-flex;font-size:20px;justify-content:center}.nutrition-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.edit-portions-toggle{background-color:#f3f4f6;border-radius:15px;box-shadow:inset 0 1px 3px #00000014;display:flex;gap:4px;margin-bottom:12px;padding:4px;width:-moz-fit-content;width:fit-content}.edit-portions-button{background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;outline:none;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.edit-portions-button:hover:not(.active){background-color:#ffffff80;color:#374151}.edit-portions-button.active{background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;color:#1f2937;font-weight:600}@media (max-width:768px){.edit-portions-toggle{width:100%}}.nutrition-card{border-radius:12px;box-shadow:0 1px 3px #0000000d,inset 0 0 0 1px #00000008;overflow:hidden;padding:16px;position:relative}.nutrition-card.calories{background:linear-gradient(135deg,#22c55e14,#22c55e08)}.nutrition-card.protein{background:linear-gradient(135deg,#3b82f614,#3b82f608)}.nutrition-card.fat{background:linear-gradient(135deg,#ec489914,#ec489908)}.nutrition-card.carbs{background:linear-gradient(135deg,#fbbf2414,#fbbf2408)}.nutrition-card-header{align-items:center;display:flex;gap:6px;margin-bottom:8px}.nutrition-dot{border-radius:50%;box-shadow:0 0 0 2px #ffffff80;flex-shrink:0;height:8px;width:8px}.nutrition-dot.calories{background:#22c55e}.nutrition-dot.protein{background:#3b82f6}.nutrition-dot.fat{background:#ec4899}.nutrition-dot.carbs{background:#f59e0b}.nutrition-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.nutrition-display{align-items:baseline;display:flex;gap:4px}.nutrition-display-value{color:var(--text-color);font-size:24px;font-weight:700;line-height:1}.nutrition-display-unit{color:#9ca3af;font-size:14px;font-weight:500}.nutrition-edit-unit{color:#6b7280;font-size:13px;font-weight:500}.nutrition-converted{border-top:1px solid #0000000f;color:#9ca3af;font-size:11px;font-weight:500;line-height:1.3;margin-top:6px;padding-top:6px;text-align:center}@media (max-width:768px){.nutrition-card{padding:12px}.nutrition-card-header{margin-bottom:6px}.nutrition-display-value{font-size:20px}}.weight-input-section{display:flex;flex-direction:column;gap:6px}.weight-input-label{color:#6b7280;font-size:13px;font-weight:500;letter-spacing:.01em}.weight-input-row{align-items:center;display:flex;gap:6px}.weight-input{align-items:center;display:inline-flex;flex:1 1;position:relative;width:100%}.weight-input .input-container{width:100%}.weight-unit{font-size:14px;font-weight:500;pointer-events:none;position:absolute;right:14px}.portion-btn,.weight-unit{-webkit-user-select:none;user-select:none}.portion-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:1px solid #00000008;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:15px;font-weight:600;height:47px;justify-content:center;min-width:44px;outline:none;padding:0 12px;transition:all .15s cubic-bezier(.4,0,.2,1)}.portion-btn:hover{background:#f0fdf4;border-color:#34d3991a;color:var(--main-green)}.portion-btn:active{background:#dcfce7;color:#059669;transform:scale(.97)}@media (max-width:768px){.weight-input-row{flex-wrap:nowrap;gap:5px}.portion-btn{min-width:40px;padding:0 10px}}@media (max-width:340px){.weight-input-row{flex-direction:column}.portion-btn{height:34px;width:100%}}.form-actions{display:flex;gap:14px;justify-content:flex-end;margin-top:auto;padding:4px 8px 0;width:100%}.submit-button{min-width:120px;width:100%}@media (max-width:768px){.form-actions{flex-direction:row}.submit-button{width:100%}}.add-meal-modal-conteiner .modal-content{height:100%}.add-to-diary-form{height:100%}.add-to-diary-form,.form-main{display:flex;flex-direction:column;gap:12px}.modal-backdrop{align-items:center;animation:fadeIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;-webkit-user-select:none;user-select:none;z-index:1001}body:has(.modal-backdrop){overflow:hidden}@media (max-width:768px){.modal-backdrop.mobile-fullscreen{align-items:stretch;justify-content:stretch;padding:0}}.modal-container{animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);background:#f9fafb;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;display:flex;flex-direction:column;max-height:90dvh;overflow:hidden;position:relative}@media (max-width:768px){.modal-container.mobile-fullscreen{animation:modalSlideInMobile .4s cubic-bezier(.32,.72,0,1);border-radius:0;box-shadow:none;height:100dvh;max-height:100dvh;width:100vw}}.modal-small{max-width:400px;width:100%}.modal-medium{max-width:600px;width:100%}.modal-large{max-width:800px;width:100%}.modal-fullscreen{animation:modalSlideInMobile .4s cubic-bezier(.32,.72,0,1);border-radius:0;box-shadow:none;height:100dvh;max-width:none;width:100vw}.modal-header{align-items:center;border:1px solid #00000008;border-bottom-left-radius:16px;border-bottom-right-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;margin-bottom:12px;padding:0 16px}.modal-footer,.modal-header{background:#ffffffa6;display:flex;justify-content:space-between}.modal-footer{border:1px solid #e5e7eb;border-top-left-radius:16px;border-top-right-radius:16px;bottom:0;box-shadow:0 -1px 3px #0000000a,0 -1px 2px #00000005;gap:12px;margin-top:12px;padding:8px 12px;position:sticky}.modal-title{color:var(--text-color);font-size:18px;font-weight:600;margin-bottom:12px;margin-top:12px;white-space:nowrap}.modal-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close-button:hover{background-color:#e038380f;color:#374151}.modal-content{overflow-y:auto;padding:4px 16px 16px}@media (max-width:768px){.modal-content{flex:1 1 auto;height:auto;max-height:100dvh;overflow-y:auto;padding:4px 20px 20px}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideInMobile{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.confirm-modal{display:flex;flex-direction:column;gap:24px;-webkit-user-select:none;user-select:none}.confirm-message{color:#374151;font-size:16px;line-height:1.5;padding-left:16px;text-align:left}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-cancel-button{min-width:80px}.confirm-button{min-width:100px}@media (max-width:768px){.confirm-actions{flex-direction:column-reverse}.confirm-button,.confirm-cancel-button{width:100%}}.input-container{display:flex;flex-direction:column;gap:6px}.input-container.full-width{width:100%}.input-label{color:#6b7280;font-size:13px;font-weight:500;letter-spacing:.01em;line-height:20px}.input-wrapper{align-items:center;background:#fff;border:1px solid #00000008;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;display:flex;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-wrapper:active{transform:scale(.99)}.input-small .input-field{font-size:14px;padding:10px 12px}.input-medium .input-field{font-size:15px;padding:12px 14px}.input-large .input-field{font-size:16px;padding:14px 16px}.input-success{background:#f0fdf4;border-bottom-color:var(--main-green)}.input-error{background:#fef2f2;border-bottom-color:#ef4444}.input-error:focus-within{background:#fff;border-bottom-color:#ef4444;box-shadow:0 1px 2px #ef44441a}.input-field{background:#0000;border:none;color:#111827;font-family:inherit;font-weight:400;outline:none;width:100%}.input-field::placeholder{color:#9ca3af;font-weight:400}.input-field[type=number]::-webkit-inner-spin-button,.input-field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.input-field[type=number]{-webkit-appearance:textfield;appearance:textfield}.input-field[type=date]::-webkit-calendar-picker-indicator{background-color:initial;border-radius:6px;cursor:pointer;filter:invert(.5) sepia(1) saturate(5) hue-rotate(120deg);padding:5px;-webkit-transition:all .2s ease;transition:all .2s ease}.input-field[type=date]::-webkit-calendar-picker-indicator:hover{background-color:#2dbe641a;transform:scale(1.05)}.input-field[type=date]::-webkit-calendar-picker-indicator:focus{background-color:#2dbe6433;outline:none}.input-field[type=date]::-moz-calendar-picker-indicator{background-color:initial;border-radius:6px;cursor:pointer;padding:5px;-moz-transition:all .2s ease;transition:all .2s ease}.input-field[type=date]::-moz-calendar-picker-indicator:hover{background-color:#2dbe641a}.input-field[type=date]::-webkit-datetime-edit{color:#374151;font-weight:500}.input-field[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.input-field[type=date]::-webkit-datetime-edit-text{color:#6b7280;padding:0 2px}.input-field[type=date]::-webkit-datetime-edit-day-field,.input-field[type=date]::-webkit-datetime-edit-month-field,.input-field[type=date]::-webkit-datetime-edit-year-field{color:#374151;font-weight:500}.input-icon{align-items:center;color:#9ca3af;display:flex;font-size:16px;justify-content:center}.input-icon-left{padding-left:12px}.input-icon-right{font-size:14px;font-weight:500;padding-right:12px}.input-field.with-left-icon{padding-left:8px}.input-field.with-right-icon{padding-right:8px}.input-message{font-size:12px;line-height:16px;margin-top:2px}.input-helper{color:#6b7280}@media (max-width:768px){.input-medium .input-field{padding:14px 16px}.input-large .input-field{padding:18px 20px}.input-field[type=date]::-webkit-calendar-picker-indicator{padding:8px}.input-field[type=date]::-moz-calendar-picker-indicator{padding:8px}}.input-field:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.input-wrapper:has(.input-field:disabled){background-color:#fafafa;border-bottom-color:#e5e7eb;opacity:.6}.input-wrapper:has(.input-field:disabled):hover{background-color:#fafafa;border-bottom-color:#e5e7eb}.search-input-container{width:100%}.search-input-wrapper{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:100px;display:flex;position:relative;transition:all .2s ease}.search-input-wrapper:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.search-input-wrapper:focus-within{border-color:#179c4975;box-shadow:0 0 0 3px #2dbe6414}.search-input-field{background:#0000;border:none;color:#1f2937;font-family:inherit;font-size:.9375rem;font-weight:400;line-height:1.3;outline:none;padding:8px 6px;width:100%}.search-input-field::placeholder{color:#9ca3af;font-weight:400}.search-input-icon{align-items:center;color:#9ca3af;display:flex;flex-shrink:0;font-size:1rem;justify-content:center;transition:color .15s ease}.search-input-wrapper:focus-within .search-input-icon-left{color:var(--main-green)}.search-input-icon-left{padding-left:14px}.search-input-icon-right{cursor:pointer;padding-right:14px}.search-input-icon-right:hover{color:#6b7280}@media (max-width:768px){.search-input-field{font-size:16px;padding:9px 12px}.search-input-icon-left{padding-left:16px}.search-input-icon-right{padding-right:16px}}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center;-webkit-user-select:none;user-select:none}.empty-icon{color:var(--hint-color);font-size:3rem;margin-bottom:1rem}.empty-message{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.empty-action{margin-top:1rem}.error-state{align-items:center;display:flex;justify-content:center;padding:2rem;text-align:center;-webkit-user-select:none;user-select:none}.error-content{max-width:400px}.error-title{color:var(--error-color,#e74c3c);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.error-message{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.retry-button{background-color:var(--primary-color,#007bff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.retry-button:hover{background-color:var(--primary-hover,#0056b3)}.retry-button:active{transform:translateY(1px)}.loading-state{align-items:center;display:flex;flex-direction:column;height:calc(100% - 40px);justify-content:center;padding:2rem;text-align:center;-webkit-user-select:none;user-select:none}.loading-message{color:var(--text-secondary);font-size:1rem;margin-top:1rem}.notification-container{align-items:center;bottom:56px;display:flex;flex-direction:column;gap:8px;left:0;padding:8px;pointer-events:none;position:fixed;right:0;-webkit-user-select:none;user-select:none;z-index:9999}.notification-item{background:var(--main-background);border:1px solid #02061714;border-radius:6px;box-shadow:0 8px 24px #0000001f;color:#6b7280;display:grid;gap:6px 12px;grid-template-columns:1fr auto;max-width:520px;opacity:.9;padding:12px 44px 12px 14px;pointer-events:auto;position:relative;width:calc(100% - 24px);will-change:opacity,transform}.notification-item--success{border-left:4px solid #16a34a}.notification-item--error{border-left:4px solid #dc2626}.notification-item--info{border-left:4px solid #2563eb}.notification-title{font-weight:600}.notification-message{grid-column:1/-1}.notification-close{align-items:center;background:#0000;border:0;color:#6b7280;cursor:pointer;display:inline-flex;font-size:22px;height:32px;justify-content:center;line-height:1;position:absolute;right:10px;top:8px;width:32px}@media (prefers-reduced-motion:no-preference){.notification-item{animation:notification-enter .22s cubic-bezier(.2,.8,.2,1) both,notification-life 2s linear both}}@keyframes notification-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes notification-life{0%,90%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.98)}}.barcode-scanner-overlay{background-color:#000000e6;height:100%;left:0;overflow-y:auto;position:fixed;top:0;width:100%;z-index:9999}.barcode-scanner-container{align-items:center;display:flex;flex-direction:column;gap:16px;min-height:100%;padding:20px;position:relative}.barcode-scanner-container *{box-sizing:border-box}.barcode-scanner-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;width:100%}.barcode-scanner-title{color:#fff;flex:1 1;font-size:20px;font-weight:600;margin:0;padding:0 8px;text-align:center}.barcode-scanner-close-button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:opacity .2s;width:32px}.barcode-scanner-video-container{background-color:#000;border-radius:12px;max-height:60dvh;overflow:hidden;position:relative;width:100%}.barcode-scanner-video,.barcode-scanner-video canvas,.barcode-scanner-video video{display:block;max-height:60dvh!important;object-fit:cover;width:100%!important}.barcode-scanner-video canvas,.barcode-scanner-video video{height:100%!important;max-width:100%!important}.barcode-scanner-overlay-line{border:3px solid #4caf50;border-radius:8px;box-shadow:0 0 0 9999px #00000080;height:120px;left:22%;position:absolute;top:50%;transform:translateY(-50%);width:56%}.barcode-scanner-scan-line{animation:scan 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#4caf50,#4caf50,#0000);box-shadow:0 0 10px #4caf50;height:2px;left:-3px;position:absolute;right:-3px;top:0}@keyframes scan{0%,to{top:0}50%{top:calc(100% - 2px)}}.barcode-scanner-info{color:#fff;font-size:14px;padding:0 8px;text-align:center;width:100%}.barcode-scanner-progress-container{padding:0 20px;width:100%}.barcode-scanner-progress-bar{background-color:#fff3;border-radius:4px;height:8px;overflow:hidden;width:100%}.barcode-scanner-progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:4px;box-shadow:0 0 10px #4caf5080;height:100%;transition:width .3s ease-out}.barcode-scanner-error{background-color:#f44336;border-radius:8px;color:#fff;font-size:14px;margin-top:-8px;padding:16px;text-align:center;width:100%}.barcode-scanner-loading{color:#fff;font-size:16px;padding:40px;text-align:center}@media (min-width:640px){.barcode-scanner-container{margin:0 auto;max-width:640px}}.image-preview{background:#fff;display:flex;flex-direction:column;gap:8px;height:100%}.image-preview-container{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:hidden}.image-preview-img{border-radius:8px;height:100%;image-rendering:auto;max-height:80dvh;object-fit:contain;width:100%}.image-preview-actions{display:flex;gap:12px;justify-content:space-between;padding:0 16px 16px}.image-preview-actions button{flex:1 1;max-width:200px}.photo-capture{flex-direction:column;height:100%;min-height:400px}.photo-capture,.photo-capture-camera{display:flex;overflow:hidden;position:relative}.photo-capture-camera{background:#000;flex:1 1;flex-direction:column}.photo-capture-video{height:100%;image-rendering:auto;object-fit:cover;width:100%}.photo-capture-error{background:#f44336e6;border-radius:8px;color:#fff;font-size:14px;left:20px;padding:12px;position:absolute;right:20px;text-align:center;top:20px;z-index:5}.photo-capture-controls{align-items:center;background:linear-gradient(0deg,#0009 0,#0006 50%,#0000);bottom:0;display:flex;gap:20px;justify-content:space-between;left:0;padding:24px 32px 40px;position:absolute;right:0;z-index:3}.photo-capture-gallery-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;cursor:pointer;display:flex;font-size:24px;height:50px;justify-content:center;padding:0;transition:all .2s ease;width:50px}.photo-capture-gallery-btn:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.photo-capture-gallery-btn:active:not(:disabled){transform:scale(.95)}.photo-capture-gallery-btn:disabled{cursor:not-allowed;opacity:.5}.photo-capture-shutter-btn{align-items:center;background:#fff;border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0006;cursor:pointer;display:flex;height:80px;justify-content:center;padding:0;transition:all .2s ease;width:80px}.photo-capture-shutter-btn:hover:not(:disabled){box-shadow:0 6px 16px #00000080;transform:scale(1.05)}.photo-capture-shutter-btn:active:not(:disabled){transform:scale(.95)}.photo-capture-shutter-btn:disabled{cursor:not-allowed;opacity:.7}.photo-capture-shutter-inner{background:#fff;border:3px solid #000;border-radius:50%;height:60px;width:60px}.photo-capture-shutter-spinner{animation:spin 1s linear infinite;border:3px solid #0003;border-radius:50%;border-top-color:#000;height:40px;width:40px}.photo-capture-placeholder{height:50px;width:50px}.photo-capture-recognizing{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;flex-direction:column;gap:16px;inset:0;justify-content:center;position:absolute;z-index:10}.photo-capture-recognizing-spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top:4px solid var(--light-green,#007aff);height:48px;width:48px}.photo-capture-recognizing-text{color:#fff;font-size:16px;font-weight:500;padding:0 24px;text-align:center}@keyframes spin{to{transform:rotate(1turn)}}.photo-capture-modal{background:#0000;padding:0;.modal-header{border-bottom:none;left:0;position:absolute;right:0;z-index:1;.modal-title{color:#fff}}}.photo-capture-modal-content{padding:0}.fab-actions{bottom:136px;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;position:fixed;right:16px;transform:translateY(20px);transition:transform .3s ease,opacity .18s ease;z-index:1099;button{border:1px solid var(--main-green)}}.fab-actions-open{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-action-title{color:var(--main-green);font-size:14px;font-weight:600}.fab-button{background:var(--light-green,#2dbe64);border:none;border-radius:50%;bottom:72px;box-shadow:0 6px 18px #179c4959;color:#fff;cursor:pointer;height:56px;outline:none;padding:8px;position:fixed;right:16px;transform:translateY(0);transition:transform .3s ease,opacity .3s ease;-webkit-user-select:none;user-select:none;width:56px;z-index:100}.fab-button:active{transform:translateY(0) scale(.98)}.fab-plus{align-items:center;display:flex;height:100%;justify-content:center;pointer-events:none;width:100%}.fab-show{opacity:1;transform:translateY(0)}.fab-hide{opacity:0;pointer-events:none;transform:translateY(120%)}@media (hover:hover) and (pointer:fine){.fab-button:hover{filter:brightness(.95)}}.fab-backdrop{animation:fabBackDropIn .16s ease both;background:#00000059;inset:0;position:fixed;z-index:1090}@keyframes fabBackDropIn{0%{opacity:0}to{opacity:1}}.App-footer{background:#ffffffa6;border:1px solid #00000008;border-radius:16px;bottom:0;box-shadow:0 -2px 16px #0000000a;position:sticky;width:100%;z-index:1000}.footer-nav{justify-content:space-around;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.footer-nav,.footer-nav-button{align-items:center;display:flex}.footer-nav-button{background:none;border:none;color:var(--hint-color);cursor:pointer;flex:1 1;justify-content:center;padding:8px;touch-action:manipulation;transition:color .1s ease;-webkit-user-select:none;user-select:none}.footer-nav-icon{height:28px;width:28px}.footer-nav-button.active{color:var(--main-green)}@media (hover:hover) and (pointer:fine){.footer-nav-button:hover:not(.active){color:var(--light-green)}}.footer-nav-button:active:not(.active){color:var(--light-green)}.footer-nav-button:focus-visible{border-radius:8px;outline:2px solid var(--main-green);outline-offset:-2px}@media (min-width:768px){.footer-nav{margin:0 auto;max-width:600px}.footer-nav-icon{height:32px;width:32px}}*{-webkit-tap-highlight-color:rgb(0 0 0/0);box-sizing:border-box;margin:0;padding:0}body{background:var(--main-background);color:var(--text-color,#000);min-height:100dvh}a,button,input,select,textarea{font-family:inherit}a,button{-webkit-tap-highlight-color:rgb(0 0 0/0)}a:focus,button:focus{outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--main-green);outline-offset:2px}.App{background:var(--theme-bg-color,#f9fafb);display:flex;flex-direction:column;height:100dvh;min-height:100dvh;overflow:hidden}.App-main{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:auto;padding:16px;touch-action:pan-y}.slider-section{padding:16px 0}.error,.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50dvh;text-align:center}.error h2,.loading h2{color:var(--text-color,#000);font-size:24px;margin-bottom:16px}.error p{color:#dc3545;font-size:16px}@media (max-width:768px){.App-main{padding:8px 8px 0}.slider-section{padding:12px 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tg-app{--theme-bg-color:#fff;--theme-text-color:#000;--theme-hint-color:#999;--theme-link-color:var(--main-green);--theme-button-color:var(--main-green);--theme-button-text-color:#fff;--theme-secondary-bg-color:#f1f1f1}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:normal;font-weight:400;src:url(/static/media/Euclid%20Circular%20B%20Regular.4a3055af2b5d3eb95690.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:italic;font-weight:400;src:url(/static/media/Euclid%20Circular%20B%20Italic.e67cf188f9c6508e237e.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:normal;font-weight:300;src:url(/static/media/Euclid%20Circular%20B%20Light.de6ac5224afb2bd0d0c2.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:italic;font-weight:300;src:url(/static/media/Euclid%20Circular%20B%20Light%20Italic.01ccd4c83139ce3f1ba7.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:normal;font-weight:500;src:url(/static/media/Euclid%20Circular%20B%20Medium.da9107f189000fddc6e7.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:italic;font-weight:500;src:url(/static/media/Euclid%20Circular%20B%20Medium%20Italic.dcfcd0e94ab24d2a4ef0.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:normal;font-weight:600;src:url(/static/media/Euclid%20Circular%20B%20SemiBold.b55694b69b1287ed0f66.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:italic;font-weight:600;src:url(/static/media/Euclid%20Circular%20B%20SemiBold%20Italic.4d6c05464ad001027245.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:normal;font-weight:700;src:url(/static/media/Euclid%20Circular%20B%20Bold.f9b0ae2872dea44f65c3.ttf) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular B;font-style:italic;font-weight:700;src:url(/static/media/Euclid%20Circular%20B%20Bold%20Italic.3a29cb1f773b6259cc7c.ttf) format("truetype")}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Euclid Circular B,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.light-text{font-weight:300}.regular-text{font-weight:400}.medium-text{font-weight:500}.semibold-text{font-weight:600}.bold-text{font-weight:700}:root{--main-green:#179c49;--light-green:#2dbe64;--border:#e9ecef;--main-background:#fff;--hint-color:#6c757d;--text-color:#212121;--text-secondary-color:#656565;--pale-green:#ebf7eb}