@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Rubik:wght@300;400;500;600;700&display=swap);body{background:linear-gradient(135deg,#f8fafc,#fff7ed);font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif}code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,source-code-pro,Menlo,Consolas,Courier New,monospace}.text-primary{color:var(--primary-600)!important}.text-success{color:var(--success-600)!important}.text-warning{color:var(--warning-600)!important}.text-danger{color:var(--error-600)!important}.bg-primary{background-color:var(--primary-600)!important}.bg-secondary{background:linear-gradient(135deg,var(--secondary-500),var(--secondary-600))!important}.bg-success{background-color:var(--success-600)!important}.bg-warning{background-color:var(--warning-600)!important}.bg-info{background:linear-gradient(135deg,var(--primary-400),var(--primary-500))!important}.chatbot-container{background:oklch(99.5% .003 65);border-radius:20px;bottom:24px;box-shadow:0 2px 4px oklch(20% .01 45/.04),0 12px 32px oklch(20% .01 45/.14),0 32px 64px -8px oklch(20% .01 45/.1);font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:min(620px,calc(100vh - 48px));right:24px;width:424px}.chatbot-container.minimized{display:none}.chat-header{background:linear-gradient(155deg,oklch(17% .022 42),oklch(14% .016 46));color:oklch(98% .005 65);flex-shrink:0;padding:14px 18px;position:relative}.chat-header:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");border-radius:inherit;content:"";inset:0;opacity:.028;pointer-events:none;position:absolute}.chat-header-identity{align-items:center;display:flex;gap:11px}.chat-avatar-wrap{flex-shrink:0;position:relative}.chat-avatar{border:2px solid oklch(60% .21 42);border-radius:50%;display:block;height:38px;object-fit:cover;width:38px}.chat-status-dot{background:oklch(72% .19 145);border:2px solid oklch(14% .016 46);border-radius:50%;bottom:1px;height:9px;position:absolute;right:1px;width:9px}.chat-identity-text{display:flex;flex-direction:column;gap:1px}.chat-name{color:oklch(98% .005 65);font-size:14.5px;font-weight:600;letter-spacing:.3px;line-height:1.2}.chat-subtitle{color:oklch(70% .01 65);font-size:11.5px;font-weight:400;letter-spacing:.2px}.btn-chat-action{background:oklch(98% .005 65/.08);border-radius:8px;color:oklch(80% .008 65);flex-shrink:0;height:30px;transition:background .15s ease,color .15s ease;width:30px}.btn-chat-action:hover{background:oklch(98% .005 65/.15);color:oklch(98% .005 65)}.chat-body{background:oklch(98.5% .006 65);min-height:0}.messages-container{gap:10px;padding:18px 14px;scroll-behavior:smooth;scrollbar-color:#cec4ba #0000;scrollbar-width:thin}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:#cec4ba;border-radius:99px}.message{align-items:flex-end;gap:7px}.message.user-message{flex-direction:row-reverse}.msg-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:26px;justify-content:center;margin-bottom:2px;overflow:hidden;width:26px}.msg-avatar img{height:100%;object-fit:cover;width:100%}.msg-avatar-user{background:oklch(55% .195 42);color:oklch(99% .005 65)}.msg-bubble-wrap{display:flex;flex-direction:column;gap:4px;max-width:78%}.message-content{word-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:18px;font-size:14.5px;letter-spacing:.1px;line-height:1.65;padding:11px 15px}.bot-message .message-content{background:oklch(99.2% .006 65);border:1px solid oklch(91% .014 55);border-radius:4px 18px 18px 18px;color:oklch(18% .02 45)}.user-message .message-content{background:oklch(55% .195 42);border-radius:18px 4px 18px 18px;color:oklch(99% .005 65);font-weight:500}.bot-message .message-content b,.bot-message .message-content strong{color:oklch(14% .016 46);font-weight:700}.bot-message .message-content ol,.bot-message .message-content ul{margin:6px 0;padding-left:18px}.bot-message .message-content li{line-height:1.65;margin:3px 0}.bot-message .message-content p{margin:0 0 8px}.bot-message .message-content p:last-child{margin-bottom:0}.bot-message .message-content h1,.bot-message .message-content h2,.bot-message .message-content h3{color:#1a1108;font-weight:700;margin:8px 0 4px}.bot-message .message-content code{background:#f5f0ec;border-radius:4px;color:#c2410c;font-family:SF Mono,Inconsolata,monospace;font-size:13px;padding:2px 5px}.streaming-cursor{animation:blink 1s step-start infinite;background:oklch(60% .21 42);border-radius:1px;display:inline-block;height:14px;margin-left:2px;vertical-align:text-bottom;width:2px}.source-info{background:#f5f0ec;border-radius:6px;color:#a09089;display:inline-block;font-size:12px;font-style:italic;padding:3px 6px}.typing-row{align-items:flex-end;display:flex;gap:7px}.typing-indicator{background:oklch(99.2% .006 65);border:1px solid oklch(91% .014 55);border-radius:4px 18px 18px 18px;padding:12px 14px;width:-webkit-fit-content;width:fit-content}.typing-dot{animation:typing 1.4s ease-in-out infinite;height:6px;width:6px}.chat-input-area{background:oklch(99.5% .003 65);border-top:1.5px solid oklch(90% .014 55);box-shadow:0 -3px 12px oklch(20% .01 45/.05);flex-shrink:0;padding:10px 14px 14px}.chat-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.chat-chip{background:#f5f0ec;border:1px solid #e8e0d8;border-radius:99px;color:#706056;cursor:pointer;font-family:inherit;font-size:12px;line-height:1.5;padding:4px 11px;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.chat-chip:hover{background:oklch(97% .025 55);border-color:oklch(60% .21 42);color:oklch(52% .2 42)}.chat-input-row{align-items:flex-end;display:flex;gap:8px}#chat-input{background:oklch(98.5% .006 65);border:1.5px solid oklch(90% .014 55);border-radius:14px;color:oklch(18% .02 45);flex:1 1;font-family:inherit;font-size:14px;line-height:1.5;max-height:96px;min-height:42px;outline:none;padding:10px 14px;resize:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}#chat-input:focus{background:oklch(99.5% .003 65);border-color:oklch(60% .21 42);box-shadow:0 0 0 3px oklch(60% .21 42/.12)}#chat-input::placeholder{color:oklch(65% .02 55)}.btn-send{align-items:center;background:oklch(60% .21 42);border:none;border-radius:14px;color:oklch(99% .005 65);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .18s ease,box-shadow .18s ease;width:40px}.btn-send:hover:not(:disabled){background:oklch(52% .2 42);box-shadow:0 4px 12px oklch(55% .21 42/.35)}.btn-send:disabled{background:oklch(90% .01 55);color:oklch(65% .01 55);cursor:not-allowed}.chatbot-trigger{bottom:24px;position:fixed;right:24px;z-index:999}.chatbot-trigger-btn{align-items:center;background:linear-gradient(155deg,oklch(17% .022 42),oklch(14% .016 46));border:none;border-radius:50%;box-shadow:0 8px 28px oklch(60% .21 42/.32),0 2px 8px oklch(14% .016 46/.2);cursor:pointer;display:flex;height:58px;justify-content:center;padding:0;position:relative;width:58px}.chatbot-trigger-btn img{border-radius:50%;display:block;height:42px;object-fit:cover;width:42px}.trigger-pulse{animation:pulseRing 2.8s ease-out infinite;border:2px solid oklch(60% .21 42/.45);border-radius:50%;inset:-7px;pointer-events:none;position:absolute}.trigger-badge{align-items:center;background:#ef4444;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:9px;font-weight:700;height:17px;justify-content:center;line-height:1;position:absolute;right:-1px;top:-1px;width:17px}@keyframes typing{0%,60%,to{opacity:.55;transform:translateY(0)}30%{opacity:1;transform:translateY(-7px)}}@keyframes pulseRing{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width:768px){.chatbot-container{border-radius:16px;bottom:8px;height:min(540px,calc(100vh - 80px));max-width:424px;right:8px;width:calc(100vw - 16px)}.messages-container{gap:9px;padding:14px 12px}.chat-header{padding:12px 16px}.message-content{font-size:14px;padding:10px 13px}}@media (max-width:480px){.chatbot-container{bottom:6px;height:min(480px,calc(100vh - 100px));right:6px;width:calc(100vw - 12px)}.message-content{font-size:13.5px}.chat-chips{display:none}}@media (prefers-reduced-motion:reduce){.streaming-cursor,.trigger-pulse,.typing-dot{animation:none!important}#chat-input,.btn-chat-action,.btn-send,.chat-chip,.chatbot-container{transition:none!important}}@media (prefers-contrast:high){.bot-message .message-content{border:2px solid #241d17;box-shadow:none}.user-message .message-content{border:2px solid #1a1108}}.modal-overlay{background:#0009;overflow:hidden;padding:20px}.food-detail-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:600px;overflow:hidden;width:100%}.modal-header{background-position:top;background-repeat:no-repeat;background-size:cover;border-bottom:2px solid #f1f5f9;border-radius:16px 16px 0 0;padding:24px 24px 16px}.modal-header:before{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#ffffff1a;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.modal-header>*{color:#fff;position:relative;z-index:2}.modal-header .modal-title{color:#fff;font-weight:800;text-shadow:2px 2px 8px #000c,1px 1px 3px #000000e6}.modal-header .modal-subtitle{color:#fff;font-weight:600;text-shadow:1px 1px 6px #000c,1px 1px 2px #000000e6}.modal-title{font-size:1.5rem;font-weight:700;line-height:1.3;margin:0 0 4px;text-shadow:2px 2px 4px #000000b3}.modal-subtitle{font-size:.9rem;margin:0 0 8px;opacity:.9;text-shadow:1px 1px 3px #000000b3}.category-badge{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0009;border:1px solid #fff3;border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px;text-shadow:1px 1px 3px #000c}.close-button{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0006;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;padding:8px;transition:all .2s ease}.close-button:hover{background:#0009;transform:scale(1.1)}.modal-content{flex:1 1;padding:24px;scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a0aec0}.serving-section{margin-bottom:24px;text-align:center}.serving-section h3{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:16px}.serving-controls{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;gap:16px;padding:16px}.serving-btn,.serving-controls{align-items:center;display:flex;justify-content:center}.serving-btn{background:linear-gradient(135deg,#f76902,#f59e42);border:none;border-radius:50%;color:#fff;cursor:pointer;height:36px;transition:all .2s ease;width:36px}.serving-btn:hover:not(:disabled){box-shadow:0 4px 12px #f769024d;transform:scale(1.1)}.serving-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.serving-display{color:#1f2937;font-size:1.1rem;font-weight:600;min-width:120px}.nutrition-section{margin-bottom:24px}.nutrition-section h3{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:16px}.calories-banner{align-items:center;background:linear-gradient(135deg,#059669,#0891b2);border-radius:12px;color:#fff;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px}.calories-label{font-size:1.1rem;font-weight:600}.calories-value{font-size:2rem;font-weight:800}.macro-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.macro-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;text-align:center}.macro-label{color:#6b7280;display:block;font-size:.85rem;font-weight:500;margin-bottom:4px}.macro-value{color:#1f2937;display:block;font-size:1.1rem;font-weight:700}.detailed-nutrition{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.nutrition-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.nutrition-row:last-child{border-bottom:none}.nutrition-row span:first-child{color:#374151;font-weight:500}.nutrition-row span:last-child{color:#1f2937;font-weight:600}.allergens-section{background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;margin-top:20px;padding:16px}.allergens-section h4{color:#92400e;font-size:1rem;font-weight:600;margin:0 0 12px}.allergen-badges{display:flex;flex-wrap:wrap;gap:8px}.allergen-badge{border:1px solid #0000;border-radius:16px;font-size:.8rem;font-weight:600;padding:6px 12px}.allergen-milk{background-color:#fff;border-color:#374151;color:#000}.allergen-egg{background-color:#fbbf24;color:#000}.allergen-fish{background-color:#f76902;color:#fff}.allergen-shellfish{background-color:#f97316;color:#fff}.allergen-treenut{background-color:#8b5cf6;color:#fff}.allergen-peanut{background-color:tan;color:#000}.allergen-wheat{background-color:wheat;color:#000}.allergen-soy{background-color:#10b981;color:#fff}.allergen-sesame{background-color:#6b7280;color:#fff}.allergen-gluten{background-color:gold;color:#000}.allergen-coconut{background-color:#8b4513;color:#fff}.tracking-section{border-top:2px solid #f1f5f9;margin-top:24px;padding-top:24px}.tracking-section h3{color:#374151;font-size:1.1rem;font-weight:600;margin-bottom:16px}.tracking-inputs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.input-group{display:flex;flex-direction:column}.input-group label{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:6px}.meal-select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:12px 16px;transition:border-color .3s ease}.meal-select:focus{border-color:#f76902;box-shadow:0 0 0 3px #f769021a;outline:none}.date-input-wrapper{position:relative}.date-input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:12px 40px 12px 16px;transition:border-color .3s ease;width:100%}.date-input:focus{border-color:#f76902;box-shadow:0 0 0 3px #f769021a;outline:none}.date-picker-hidden{left:-9999px;opacity:0;position:absolute}.date-icon{border-radius:4px;color:#6b7280;cursor:pointer;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease}.date-icon:hover{background:#f3f4f6;color:#374151}.add-to-tracker-btn{align-items:center;background:linear-gradient(135deg,#f76902,#f59e42);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .3s ease;width:100%}.add-to-tracker-btn:hover:not(:disabled){box-shadow:0 8px 24px #f769024d;transform:translateY(-2px)}.add-to-tracker-btn:disabled{background:#94a3b8;cursor:not-allowed;transform:none}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.message{border-radius:8px;font-weight:500;margin-top:12px;padding:12px 16px;text-align:center}.message.success{background:#d1fae5;border:1px solid #10b981;color:#047857}.message.error{background:#fee2e2;border:1px solid #ef4444;color:#dc2626}.login-prompt{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px;text-align:center}.login-prompt p{color:#6b7280;font-size:1rem;margin:0}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:20px 10px 10px}.food-detail-modal{margin-top:0;max-height:90vh}.modal-header{min-height:100px;padding:20px 20px 12px}.modal-title{font-size:1.3rem}.modal-subtitle,.modal-title{text-shadow:1px 1px 2px #00000080}.modal-content{padding:20px}.macro-grid{gap:8px;grid-template-columns:1fr}.tracking-inputs{gap:12px;grid-template-columns:1fr}.serving-controls{padding:12px}.calories-value{font-size:1.5rem}}@media (max-width:480px){.modal-title{font-size:1.2rem}.modal-content{padding:16px}.serving-controls{gap:12px}.serving-display{font-size:1rem;min-width:100px}}.restaurant-button{overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.restaurant-button:not(.selected){background:#fff!important;border:2px solid #f76902!important;color:#f76902!important}.restaurant-button:not(.selected):hover{background:#ea580c!important;border-color:#0000!important;box-shadow:0 8px 25px #f769024d;color:#fff!important;transform:translateY(-2px)}.restaurant-button.selected{background:#f76902!important;border:2px solid #f76902!important;color:#fff!important}.restaurant-button.selected:hover{background:#ea580c!important;border-color:#0000!important;box-shadow:0 8px 25px #f769024d;color:#fff!important;transform:translateY(-2px)}.restaurant-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.restaurant-button:hover:before{left:100%}.menu-title{color:#ea580c;font-family:Outfit,sans-serif;font-family:var(--font-family-display,"Outfit",sans-serif)}.filter-button,.menu-count-badge{background:#ea580c!important;border:none!important}.filter-button{color:#fff!important;transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-button:hover{background:#c2410c!important;box-shadow:0 8px 25px #f769024d;color:#fff!important}.filter-button:active,.filter-button:focus{background:#ea580c!important;box-shadow:0 0 0 3px #f769024d;color:#fff!important}.restaurant-icon{color:inherit}.restaurant-button .restaurant-icon{transition:color .3s ease}.menu-item-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.menu-item-card:hover{border-color:#f76902;box-shadow:0 8px 25px #f7690226;transform:translateY(-2px)}.menu-item-header{border-bottom:1px solid #e2e8f0;margin-bottom:15px;padding-bottom:15px}.meal-badge{align-items:center;background:linear-gradient(135deg,#f76902,#f59e42);border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:500;margin-bottom:8px;padding:4px 8px}.item-name{color:#1e293b;font-size:1.25rem;font-weight:600;line-height:1.3;margin:8px 0 4px}.item-category{color:#64748b;font-size:.9rem;font-style:italic;margin:0}.nutrition-facts{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:15px;padding:15px}.nutrition-title{align-items:center;color:#f76902;display:flex;font-size:1rem;font-weight:600;margin:0 0 12px}.nutrition-icon{font-size:1.1rem;margin-right:6px}.nutrition-grid{grid-gap:8px;gap:8px}.nutrition-item{background:#fff;border:1px solid #e2e8f0;border-radius:4px;font-size:.85rem;padding:6px 8px}.nutrition-item.primary{background:linear-gradient(135deg,#f76902,#f59e42);border:none;color:#fff;font-weight:600;grid-column:1/-1}.nutrition-label{color:inherit;font-weight:500}.nutrition-value{color:inherit;font-weight:600}.allergen-section{border-top:1px solid #e2e8f0;margin-top:auto;padding-top:15px}.allergen-header{align-items:center;display:flex;margin-bottom:8px}.allergen-title{color:#dc2626;font-weight:600;margin:0}.allergen-tags{display:flex;flex-wrap:wrap;gap:4px}.allergen-badge{border:1px solid #0000001a;font-weight:500}.item-price{background:linear-gradient(135deg,#16a34a,#15803d);border-radius:20px;box-shadow:0 2px 8px #16a34a4d;color:#fff;font-size:1.1rem;font-weight:600;padding:6px 12px;position:absolute;right:15px;top:15px}@media (max-width:768px){.menu-item-card{padding:15px}.nutrition-grid{grid-template-columns:1fr}.nutrition-item.primary{grid-column:1}.item-name{font-size:1.1rem}}.menu-loading{align-items:center;display:flex;justify-content:center;min-height:300px}.menu-empty{color:#64748b;padding:60px 20px;text-align:center}.menu-item-card:before{background:linear-gradient(90deg,#0000,#f769020d,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .6s;width:100%}.menu-item-card:hover:before{left:100%}.food-diary-container{background:#fff;font-family:Trebuchet MS,Helvetica,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.today-tab-container{align-items:center;display:flex}.today-tab{background:#ea580c!important;border:2px solid #ea580c!important;border-radius:8px!important;color:#fff!important;font-size:14px!important;font-weight:600!important;padding:8px 20px!important;transition:background .15s ease,border-color .15s ease}.today-tab:hover{background:#c2410c!important;border-color:#c2410c!important}.glass-card:has(.today-tab-container){overflow:visible!important;z-index:100}.diary-content,.diary-date-section{position:relative;z-index:1}.current-date-display{color:#6b7280;font-size:16px;font-weight:500}.clickable-date{border-radius:6px;cursor:pointer;padding:8px 12px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.clickable-date:hover{background-color:#f769021a;color:#f76902}.dropdown-arrow{font-size:12px;transition:transform .3s ease}.dropdown-arrow.rotated{transform:rotate(180deg)}.date-dropdown-container{display:inline-block;position:relative;z-index:1000}.date-dropdown-overlay{left:140px;pointer-events:auto;position:absolute;top:60px;z-index:9999!important}.date-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:2px solid #f769021a;border-radius:8px;box-shadow:0 10px 25px #00000040;max-height:300px;min-width:300px;overflow-y:auto;position:relative}.dropdown-item{border-bottom:1px solid #f3f4f6;cursor:pointer;padding:10px 16px;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f8fafc}.dropdown-item.selected{background-color:#f769021a;color:#f76902;font-weight:600}.dropdown-item:last-child{border-bottom:none}.today-option{background-color:#f769020d;border-bottom:2px solid #e5e7eb}.today-option:hover{background-color:#f769021a}.dropdown-divider{border-color:#e5e7eb;margin:0}.quick-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.glass-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:12px;box-shadow:0 8px 32px #00000026;position:relative;transition:all .3s ease;z-index:1}.glass-card:hover{box-shadow:0 12px 40px #0003;transform:translateY(-2px)}.text-gradient{font-weight:700}.btn-modern{border-radius:25px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.btn-modern.btn-primary{background:linear-gradient(135deg,#f76902,#f59e42);box-shadow:0 4px 12px #f769024d;color:#fff}.btn-modern.btn-primary:hover{background:linear-gradient(135deg,#c2410c,#d85a02);box-shadow:0 8px 20px #f7690266;color:#fff;transform:translateY(-2px)}.btn-modern.btn-secondary{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:2px solid #cbd5e1;color:#475569}.btn-modern.btn-secondary:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);box-shadow:0 5px 15px #cbd5e166;color:#1e293b;transform:translateY(-2px)}.btn-modern.btn-outline-secondary{background:#0000;border:2px solid #6c757d;color:#6c757d}.btn-modern.btn-outline-secondary:hover{background:#6c757d;color:#fff}.diary-date-section{margin-bottom:2rem}.day-calories{font-size:1.1rem}.meal-section{background:#ea580c0a;border:1px solid #ea580c1f;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.meal-header{background:linear-gradient(135deg,#f769021a,#f59e421a);border-radius:8px;margin-bottom:1rem;padding:12px 16px}.meal-header h5{color:#1e293b;font-weight:600;margin:0}.food-item{transition:background-color .2s ease}.food-item:hover{background:linear-gradient(135deg,#f7690214,#f59e4214);border-radius:8px;padding-left:12px!important;padding-right:12px!important;transform:translateX(4px)}.food-name{color:#333;font-weight:600;margin-bottom:4px}.nutrition-info{min-width:120px}.meal-totals{background:linear-gradient(135deg,#f769021f,#f59e421f)!important;border:1px solid #f7690240;border-radius:8px!important}.daily-summary{background:linear-gradient(135deg,#f7690226,#f59e4226)!important;border:2px solid #f769024d;border-radius:12px!important}.daily-summary h6{color:#ea580c;font-weight:700}.progress{background-color:#0000001a;border-radius:10px}.progress-bar{border-radius:10px;transition:width .6s ease}.progress-bar.bg-danger{animation:pulse-warning 2s infinite;background:linear-gradient(135deg,#dc2626,#b91c1c)!important;box-shadow:0 0 10px #dc26264d}@keyframes pulse-warning{0%{box-shadow:0 0 5px #dc26264d}50%{box-shadow:0 0 15px #dc262680}to{box-shadow:0 0 5px #dc26264d}}@media (max-width:768px){.food-diary-container{padding:1rem}.today-tab-container{align-items:flex-start;flex-direction:column;gap:8px}.date-dropdown-container{align-self:stretch}.current-date-display{font-size:14px;margin-left:0!important}.date-dropdown-overlay{left:20px;right:20px;top:80px}.date-dropdown{min-width:280px;width:100%}.quick-actions{flex-wrap:wrap;justify-content:center;margin-top:1rem}.food-item{align-items:flex-start;flex-direction:column;gap:10px}.nutrition-info{align-self:stretch;text-align:left!important}.daily-summary .row,.meal-totals .row{gap:10px}}@media (max-width:576px){.daily-summary .col-3,.meal-totals .col-3{flex:0 0 50%;margin-bottom:10px;max-width:50%}}.spinner-border{color:#f76902}.form-control:focus,.form-select:focus{border-color:#f76902;box-shadow:0 0 0 .2rem #f7690240;outline:none}.alert-danger{background:#dc35451a;border:1px solid #dc35454d;color:#721c24}.badge{font-size:.8rem;font-weight:600;padding:6px 12px}.badge.bg-primary{background:linear-gradient(135deg,#f76902,#f59e42)!important;border:none;box-shadow:0 2px 4px #f769024d}.badge.bg-secondary{background:linear-gradient(135deg,#6b7280,#9ca3af)!important;border:none}.serving-size-badge{border-radius:10px!important;font-size:.6rem!important;padding:2px 6px!important}.diary-content>*{animation:fadeIn .5s ease}.text-center h3{color:#6c757d}.text-primary{color:#f76902!important}.text-danger{color:#dc2626!important}.text-info{color:#0891b2!important}.text-warning{color:#f59e0b!important}.branded-search-container{background:#fdfaf8;background:var(--neutral-50,#fdfaf8);font-family:Rubik,sans-serif;font-family:var(--font-family-sans,"Rubik",sans-serif);margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.branded-search-header{margin-bottom:3rem;position:relative;text-align:center}.branded-search-title{color:#ea580c;font-family:Outfit,sans-serif;font-family:var(--font-family-display,"Outfit",sans-serif);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.branded-search-subtitle{color:#64748b;font-size:1.25rem;font-weight:400;line-height:1.6;margin:0 auto 2rem;max-width:600px}.search-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #ffffff4d;border-radius:2rem;box-shadow:0 20px 50px #0000001a;margin-bottom:2rem;padding:2rem;transition:all .3s ease}.search-section:hover{box-shadow:0 25px 60px #00000026;transform:translateY(-2px)}.search-input-container{margin-bottom:1.5rem;position:relative}.search-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 12px #0000000d;font-size:1.1rem;font-weight:500;padding:1.25rem 3rem 1.25rem 1.5rem;transition:all .3s ease;width:100%}.search-input:focus{background:#fffffff2;border-color:#f76902;box-shadow:0 0 0 3px #f769021a,0 4px 20px #0000001a;outline:none;transform:translateY(-1px)}.search-input::placeholder{color:#9ca3af;font-weight:400}.search-icon{color:#6b7280;font-size:1.25rem;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:all .3s ease}.search-input:focus+.search-icon{color:#f76902;transform:translateY(-50%) scale(1.1)}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.filter-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #e2e8f0;border-radius:2rem;color:#64748b;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.filter-button:hover{border-color:#f76902;box-shadow:0 8px 20px #f7690226;color:#f76902;transform:translateY(-2px)}.filter-button.active{background:linear-gradient(135deg,#f76902,#f59e42);border-color:#0000;box-shadow:0 8px 25px #f769024d;color:#fff;transform:translateY(-2px)}.search-loading{align-items:center;color:#64748b;display:flex;font-size:1.1rem;justify-content:center;padding:3rem}.loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#f76902;display:inline-block;height:24px;margin-right:1rem;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.results-section{margin-top:2rem}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:0 .5rem}.results-count{color:#64748b;font-size:1.1rem;font-weight:500}.sort-controls{align-items:center;display:flex;gap:.5rem}.sort-select{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#374151;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.sort-select:focus{border-color:#f76902;box-shadow:0 0 0 2px #f769021a;outline:none}.food-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1.5rem}.food-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:1.5rem;box-shadow:0 8px 32px #00000014;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.food-card:before{background:linear-gradient(180deg,#f76902,#f59e42);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.food-card:hover{border-color:#f769024d;box-shadow:0 20px 60px #00000026;transform:translateY(-8px) scale(1.02)}.food-card:hover:before{transform:scaleY(1)}.food-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.food-brand{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:1rem;color:#475569;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.food-name{color:#1e293b;font-size:1.25rem;font-weight:700;line-height:1.3;margin:.5rem 0}.food-description{color:#64748b;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.nutrition-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.nutrition-item{align-items:center;background:#f8fafccc;border:1px solid #e2e8f080;border-radius:.75rem;display:flex;justify-content:space-between;padding:.75rem}.nutrition-label{color:#374151;font-size:.9rem;font-weight:600}.nutrition-value{color:#1e293b;font-size:.9rem;font-weight:700}.calories-highlight{background:linear-gradient(135deg,#f769021a,#f59e421a);border-color:#f769024d;grid-column:span 2}.calories-highlight .nutrition-value{color:#ea580c;font-size:1.1rem;font-weight:700}.card-actions{display:flex;gap:.75rem;margin-top:1rem}.btn-add-food{align-items:center;background:linear-gradient(135deg,#f76902,#f59e42);border:none;border-radius:.75rem;box-shadow:0 4px 12px #f769024d;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .3s ease}.btn-add-food:hover{background:linear-gradient(135deg,#c2410c,#d85a02);box-shadow:0 8px 25px #f7690266;transform:translateY(-2px)}.btn-add-food:disabled{box-shadow:0 4px 12px #f7690233;cursor:not-allowed;opacity:.6;transform:none}.btn-details{align-items:center;background:#fffc;border:2px solid #e2e8f0;border-radius:.75rem;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:.875rem;transition:all .3s ease}.btn-details:hover{background:#fffffff2;border-color:#f76902;color:#f76902;transform:translateY(-2px)}.empty-state{color:#64748b;padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{color:#374151;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.empty-state-message{font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:400px}.error-state{background:#fef2f2cc;border:1px solid #ef444433;border-radius:1rem;color:#dc2626;padding:2rem}.error-state,.success-message{margin:1rem 0;text-align:center}.success-message{animation:slideInUp .3s ease-out;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid #10b9814d;border-radius:.75rem;color:#047857;font-weight:500;padding:1rem 1.5rem}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.branded-search-container{padding:1rem}.branded-search-title{font-size:2rem}.search-section{border-radius:1.5rem;padding:1.5rem}.filter-controls{align-items:stretch;flex-direction:column}.filter-button{justify-content:center}.food-cards-grid,.nutrition-grid{grid-template-columns:1fr}.results-header{align-items:flex-start;gap:1rem}.card-actions,.results-header{flex-direction:column}}@media (max-width:480px){.search-input{font-size:1rem;padding:1rem 2.5rem 1rem 1rem}.food-card{padding:1rem}.nutrition-item{padding:.5rem}}.calories-only{align-items:center;display:flex;justify-content:center;margin:1.5rem 0}.calories-display-large{align-items:baseline;background:linear-gradient(135deg,#f769021a,#f59e421a);border:2px solid #f7690233;border-radius:1rem;display:flex;gap:.5rem;justify-content:center;padding:1rem}.calories-number{color:#ea580c;font-size:2.5rem;font-weight:800;line-height:1}.calories-unit{color:#64748b;font-size:1.2rem;font-weight:600;text-transform:lowercase}.modal-overlay{align-items:center;animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}@keyframes modalFadeIn{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1}}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:1.5rem;box-shadow:0 25px 80px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.modal-header{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;border-radius:1.5rem 1.5rem 0 0;display:flex;justify-content:space-between;min-height:120px;overflow:hidden;padding:2rem;position:relative}.modal-header.has-logo{border-bottom:none}.modal-header.has-logo:before{background:#00000073;content:"";inset:0;position:absolute;z-index:1}.modal-header.has-logo>*{position:relative;z-index:2}.modal-header.has-logo .modal-food-name{color:#fff;text-shadow:1px 1px 6px #000000e6,0 0 2px #000c}.modal-header.has-logo .modal-brand-name{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ea580cd9}.modal-header.has-logo .modal-close-btn{background:#00000059;border-radius:50%;color:#fff}.modal-title-section{flex:1 1}.modal-food-name{color:#1e293b;font-size:1.75rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.modal-brand-name{background:linear-gradient(135deg,#f76902,#f59e42);border-radius:1rem;color:#fff;display:inline-block;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.modal-close-btn{background:none;border:none;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:1.5rem;margin-left:1rem;padding:.5rem;transition:all .3s ease}.modal-close-btn:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.modal-body{padding:2rem}.nutrition-facts-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem}.panel-title{border-bottom:2px solid #f76902;color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:.5rem;text-align:center}.serving-info{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;margin-bottom:1rem;padding:.75rem;text-align:center}.household-serving-context{color:#059669;font-size:.95em;font-style:italic;font-weight:500}.calories-section{margin:1.5rem 0;text-align:center}.calories-large{align-items:center;background:linear-gradient(135deg,#f769021a,#f59e421a);border:2px solid #f769024d;border-radius:1rem;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.calories-large .calories-label{color:#374151;font-size:1.5rem;font-weight:600}.calories-large .calories-value{color:#ea580c;font-size:3rem;font-weight:800}.macro-nutrients{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.nutrient-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 1rem}.nutrient-row:last-child{border-bottom:none}.nutrient-row.main-nutrient{background:#ea580c0d;border-radius:4px;font-weight:600}.nutrient-row.sub-nutrient{background:#fff;border-left:3px solid #cbd5e1;font-size:.9rem;padding-left:2rem}.nutrient-label{color:#374151;font-weight:500}.nutrient-value{color:#1e293b;font-weight:600}.vitamins-minerals{margin-top:1.5rem}.section-title{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 1rem;text-align:center}.nutrient-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.nutrient-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;justify-content:space-between;padding:.75rem}.ingredients-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem}.ingredients-text{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;color:#374151;font-size:.95rem;line-height:1.6;padding:1rem}.modal-footer{background:#f8fafc;border-radius:0 0 1.5rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.modal-add-btn{flex:1 1;max-width:200px}.modal-close-btn-secondary{align-items:center;background:#fffc;border:2px solid #e2e8f0;border-radius:.75rem;color:#64748b;cursor:pointer;display:flex;font-weight:600;justify-content:center;padding:.875rem 1.5rem;transition:all .3s ease}.modal-close-btn-secondary:hover{background:#fffffff2;border-color:#f76902;color:#f76902;transform:translateY(-2px)}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-body,.modal-header{padding:1.5rem}.modal-food-name{font-size:1.5rem}.calories-large{flex-direction:column;gap:.5rem}.calories-large .calories-value{font-size:2.5rem}.nutrient-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column;padding:1rem 1.5rem}.modal-add-btn{max-width:none}}.serving-modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:1.5rem;box-shadow:0 25px 80px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}.serving-modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;border-radius:1.5rem 1.5rem 0 0;display:flex;justify-content:space-between;padding:2rem}.serving-modal-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.serving-modal-body{padding:2rem}.food-preview{background:linear-gradient(135deg,#f769020d,#f59e420d);border-radius:1rem;margin-bottom:2rem;padding:1rem;text-align:center}.food-preview-name{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.food-preview-brand{background:linear-gradient(135deg,#f76902,#f59e42);border-radius:1rem;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.variant-selector-section{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:2px solid #e0e7ff;border-radius:1rem;margin-bottom:1.5rem;padding:1.25rem}.variant-label{color:#4338ca;display:block;font-size:1rem;font-weight:600;margin-bottom:.75rem;text-align:center}.variant-select{background:#fff;border:2px solid #c7d2fe;border-radius:.75rem;color:#1e293b;cursor:pointer;font-size:1rem;font-weight:500;padding:.875rem 1rem;transition:all .3s ease;width:100%}.variant-select:hover{border-color:#818cf8}.variant-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.quantity-section{background:linear-gradient(135deg,#f7690208,#f59e4208);border:1px solid #e2e8f0;border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.quantity-input-group{align-items:center;display:flex;flex-direction:column;gap:1rem}.quantity-label{color:#374151;font-size:1.1rem;font-weight:600;text-align:center}.quantity-input-container{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;display:flex;gap:.5rem;padding:.25rem;transition:all .3s ease}.quantity-input-container:focus-within{border-color:#f76902;box-shadow:0 0 0 3px #f769021a}.quantity-btn{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:none;border-radius:.5rem;color:#475569;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;height:36px;justify-content:center;transition:all .3s ease;width:36px}.quantity-btn:hover:not(:disabled){background:linear-gradient(135deg,#f76902,#f59e42);color:#fff;transform:scale(1.05)}.quantity-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.quantity-input{background:#0000;border:none;color:#1e293b;font-size:1.1rem;font-weight:600;height:36px;outline:none;text-align:center;width:80px}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-input[type=number]{-moz-appearance:textfield}.serving-options{margin-top:1rem}.serving-option{background:#fff;border:2px solid #e2e8f0;border-radius:1rem;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:all .3s ease}.serving-option:hover{border-color:#f76902;box-shadow:0 4px 12px #f769021a}.serving-option.selected{background:linear-gradient(135deg,#f769020d,#f59e420d);border-color:#f76902;box-shadow:0 4px 20px #f7690226}.serving-option.suggested{background:linear-gradient(135deg,#05966908,#10b98108);border-color:#059669}.serving-option.suggested:hover{border-color:#059669;box-shadow:0 4px 12px #05966926}.serving-option.suggested.selected{background:linear-gradient(135deg,#05966914,#10b98114);border-color:#059669;box-shadow:0 4px 20px #05966933}.serving-option-header{align-items:center;display:flex;justify-content:space-between}.serving-option-radio{align-items:center;display:flex;gap:.75rem}.serving-option-radio input[type=radio]{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #cbd5e1;border-radius:50%;cursor:pointer;height:20px;position:relative;transition:all .3s ease;width:20px}.serving-option-radio input[type=radio]:checked{background:#f76902;border-color:#f76902}.serving-option-radio input[type=radio]:checked:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.serving-label{color:#374151;font-size:1rem;font-weight:600}.serving-calories{color:#f76902;font-size:1.1rem;font-weight:700}.total-indicator{color:#64748b;font-size:.8rem;font-style:italic;font-weight:500}.serving-nutrition-preview{animation:slideDown .3s ease-out;border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.nutrition-preview-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.nutrition-preview-item{align-items:center;background:#f8fafccc;border:1px solid #e2e8f080;border-radius:.5rem;display:flex;justify-content:space-between;padding:.5rem .75rem}.nutrient-name{color:#64748b;font-size:.875rem;font-weight:500}.nutrient-amount{color:#1e293b;font-size:.875rem;font-weight:600}.serving-modal-footer{background:#f8fafc;border-radius:0 0 1.5rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.serving-confirm-btn{flex:1 1;max-width:200px}@media (max-width:768px){.serving-modal-content{margin:1rem;max-height:95vh}.serving-modal-body,.serving-modal-header{padding:1.5rem}.nutrition-preview-grid{grid-template-columns:1fr}.serving-modal-footer{flex-direction:column;padding:1rem 1.5rem}.serving-confirm-btn{max-width:none}.serving-option-header{align-items:flex-start;flex-direction:column;gap:.5rem}.quantity-section{padding:1rem}.quantity-input-container{justify-content:center;width:100%}.quantity-input{width:100px}}.fade-in{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.custom-foods-container{margin:0 auto;max-width:1100px;padding:var(--spacing-xl) var(--spacing-lg)}.cf-tab-toggle{background:var(--neutral-100);border-radius:8px;display:flex;gap:2px;padding:4px}.cf-tab-btn{background:#0000;border:none;border-radius:6px;color:var(--neutral-500);cursor:pointer;flex:1 1;font-family:var(--font-family-sans);font-size:.875rem;font-weight:400;padding:9px 16px;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.cf-tab-btn--active{background:var(--primary-500);color:#fff;font-weight:600}.cf-tab-btn:not(.cf-tab-btn--active):hover{background:var(--neutral-200);color:var(--neutral-700)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.section-header-title{color:var(--neutral-800);font-family:var(--font-family-display);font-size:1.1rem;font-weight:600}.section-count{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.9rem;font-weight:400}.section-add-btn{font-size:.8rem;gap:5px;padding:.45rem .9rem}.cf-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:.5rem;padding:var(--spacing-lg);position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.cf-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.cf-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.cf-card-type-chip{align-items:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;line-height:1.6;padding:2px 8px;text-transform:uppercase}.cf-card-type-chip--recipe{background:var(--primary-500)}.cf-card-type-chip--custom{background:var(--secondary-500)}.cf-card-type-chip--meal{background:var(--success-600)}.cf-card-actions-top{display:flex;gap:4px}.cf-card-icon-btn{align-items:center;background:#0000;border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-400);cursor:pointer;display:flex;height:28px;justify-content:center;transition:color .15s ease,border-color .15s ease,background-color .15s ease;width:28px}.cf-card-icon-btn:hover{background:var(--neutral-50);border-color:var(--neutral-300);color:var(--neutral-700)}.cf-card-icon-btn--danger:hover{background:var(--error-50);border-color:var(--error-300);color:var(--error-500)}.cf-card-name{color:var(--neutral-800);font-family:var(--font-family-display);font-size:1rem;font-weight:700;line-height:1.3;margin:0}.cf-card-sub-label{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.78rem}.cf-card-macro-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px;margin-top:2px}.cf-card-macro-chip{background:var(--neutral-100);border-radius:var(--radius-sm);font-family:var(--font-family-sans);font-size:.72rem;font-weight:600;padding:2px 7px}.cf-macro-p{color:var(--secondary-600)}.cf-macro-c{color:var(--warning-600)}.cf-macro-f{color:var(--primary-600)}.cf-log-btn{font-size:.875rem;gap:6px;justify-content:center;margin-top:auto;padding:.6rem 1rem;width:100%}.cf-card-skeleton{pointer-events:none}.cf-skeleton-line{animation:shimmer 2s infinite;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}.cf-skeleton-chip{height:18px;width:60px}.cf-skeleton-title{height:20px;margin-top:.5rem;width:70%}.cf-skeleton-cal{height:36px;margin:.5rem 0;width:40%}.cf-skeleton-macros{height:18px;width:85%}.cf-empty-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:4rem 1.5rem;text-align:center}.cf-empty-icon-ring{align-items:center;background:var(--primary-100);border-radius:50%;color:var(--primary-400);display:flex;height:64px;justify-content:center;margin-bottom:.25rem;width:64px}.cf-empty-title{color:var(--neutral-700);font-family:var(--font-family-display);font-size:1.125rem;font-weight:600;margin:0}.cf-empty-body{color:var(--neutral-500);font-size:.9rem;line-height:1.6;margin:0;max-width:280px}.cf-delete-modal{max-width:400px!important;padding:1.75rem!important}.cf-step-indicator{gap:0;justify-content:center;margin-bottom:1.75rem;padding:0 1rem}.cf-step,.cf-step-indicator{align-items:center;display:flex}.cf-step{flex-direction:column;gap:5px;position:relative}.cf-step-circle{align-items:center;background:var(--card-bg);border:2px solid var(--neutral-200);border-radius:50%;color:var(--neutral-400);display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:28px;justify-content:center;transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;width:28px;z-index:1}.cf-step--active .cf-step-circle{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.cf-step--complete .cf-step-circle{background:var(--success-600);border-color:var(--success-600);color:#fff}.cf-step-label{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.7rem;white-space:nowrap}.cf-step--active .cf-step-label{color:var(--primary-600);font-weight:600}.cf-step--complete .cf-step-label{color:var(--success-600)}.cf-step-connector{background:var(--neutral-200);flex:1 1;height:2px;margin:0 6px 16px;min-width:24px;transition:background-color .2s ease-out}.cf-step-connector--complete{background:var(--success-600)}.cf-wizard-overlay{align-items:center;animation:backdropFadeIn .25s ease-out;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1200}.cf-wizard-content{animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1);background:var(--card-bg);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);max-width:600px;overflow:hidden;width:100%}.cf-wizard-header{align-items:center;border-bottom:1px solid var(--neutral-100);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.cf-wizard-title{color:var(--neutral-800);font-family:var(--font-family-display);font-size:1.1rem;font-weight:700;margin:0}.cf-wizard-body{flex:1 1;overflow-y:auto;padding:1.5rem}.cf-wizard-footer{border-top:1px solid var(--neutral-100);display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.cf-step-panel{animation-duration:.22s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,1,.3,1)}.cf-step-panel--enter-forward{animation-name:slideInFromRight}.cf-step-panel--enter-back{animation-name:slideInFromLeft}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.cf-step-panel--enter-back,.cf-step-panel--enter-forward{animation-name:fadeIn}}.cf-ingredient-list{border:1px solid var(--neutral-100);border-radius:var(--radius-md);display:flex;flex-direction:column;margin-top:.75rem;overflow:hidden}.cf-ingredient-row{align-items:center;background:#fff;border-bottom:1px solid var(--neutral-100);display:flex;gap:8px;min-height:44px;padding:9px 12px;transition:background-color .12s ease}.cf-ingredient-row:last-child{border-bottom:none}.cf-ingredient-row:hover{background:var(--neutral-50)}.cf-ingredient-source-badge{background:var(--neutral-100);border-radius:4px;color:var(--neutral-500);flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.03em;padding:2px 5px;text-transform:uppercase}.cf-ingredient-name{color:var(--neutral-700);flex:1 1;font-family:var(--font-family-sans);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-ingredient-amount-wrap{align-items:center;display:flex;flex-shrink:0;gap:3px}.cf-ingredient-amount-input{-moz-appearance:textfield;background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-800);font-family:var(--font-family-sans);font-size:.85rem;height:34px;padding:0 6px;text-align:right;transition:border-color .15s ease,box-shadow .15s ease;width:68px}.cf-ingredient-amount-input::-webkit-inner-spin-button,.cf-ingredient-amount-input::-webkit-outer-spin-button{-webkit-appearance:none}.cf-ingredient-amount-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-ingredient-unit-label{color:var(--neutral-500);font-family:var(--font-family-sans);font-size:.78rem}.cf-ingredient-unit-label--serving{color:var(--warning-600);cursor:help;font-weight:600}.cf-ingredient-cal{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.78rem;text-align:right;transition:color .15s ease-out;white-space:nowrap;width:62px}.cf-ingredient-cal--flash{color:var(--primary-500)}.cf-ingredient-remove-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--neutral-300);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin:-6px;padding:6px;transition:color .15s ease,background-color .15s ease;width:28px}.cf-ingredient-remove-btn:hover{background:var(--error-50);color:var(--error-500)}.cf-totals-bar{align-items:center;background:var(--primary-50);border:1px solid #ea580c2e;border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;margin-top:.75rem;padding:10px 16px}.cf-totals-cal{color:var(--neutral-800);font-size:1rem;font-weight:700}.cf-totals-cal,.cf-totals-macro{font-family:var(--font-family-sans);white-space:nowrap}.cf-totals-macro{align-items:center;color:var(--neutral-600);display:flex;font-size:.8125rem;gap:5px}.cf-totals-macro-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.cf-totals-macro-dot--p{background:var(--secondary-500)}.cf-totals-macro-dot--c{background:var(--warning-500)}.cf-totals-macro-dot--f{background:var(--primary-400)}.cf-totals-value--flash{animation:scaleFlash .15s ease-out}@keyframes scaleFlash{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.cf-source-toggle{background:var(--neutral-100);border-radius:8px;display:flex;gap:2px;margin-bottom:.75rem;padding:4px}.cf-source-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--neutral-500);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-family-sans);font-size:.8rem;font-weight:400;gap:5px;justify-content:center;padding:7px 10px;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.cf-source-btn--active{background:var(--primary-500);color:#fff;font-weight:600}.cf-source-btn:not(.cf-source-btn--active):hover{background:var(--neutral-200);color:var(--neutral-700)}.cf-wizard-search-wrap{position:relative}.cf-wizard-search-input{background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-800);font-family:var(--font-family-sans);font-size:.875rem;padding:.65rem 2.5rem .65rem .85rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.cf-wizard-search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-wizard-search-icon{color:var(--neutral-400);pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.cf-search-results{border:1px solid var(--neutral-100);border-radius:var(--radius-md);margin-top:.5rem;max-height:220px;overflow:hidden;overflow-y:auto}.cf-search-result-row{align-items:center;background:#fff;border-bottom:1px solid var(--neutral-100);display:flex;gap:8px;justify-content:space-between;padding:9px 12px;transition:background-color .12s ease}.cf-search-result-row:last-child{border-bottom:none}.cf-search-result-row:hover{background:var(--neutral-50)}.cf-search-result-name{color:var(--neutral-700);flex:1 1;font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-search-result-cal{color:var(--neutral-400);flex-shrink:0;font-size:.75rem;white-space:nowrap}.cf-search-add-btn{align-items:center;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-sm);color:var(--primary-600);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background-color .15s ease,border-color .15s ease;width:28px}.cf-search-add-btn:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.cf-nutrition-form{display:flex;flex-direction:column;gap:.75rem}.cf-nutrition-primary .cf-field input{font-size:1.5rem;font-weight:700;padding:.75rem;text-align:center}.cf-nutrition-macros{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.cf-nutrition-secondary{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.cf-nutrition-secondary-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.cf-nutrition-expand-toggle{align-items:center;background:none;border:none;color:var(--neutral-500);cursor:pointer;display:flex;font-family:var(--font-family-sans);font-size:.83rem;gap:5px;padding:0;transition:color .15s ease}.cf-nutrition-expand-toggle:hover{color:var(--primary-600)}.cf-field{display:flex;flex-direction:column;gap:4px}.cf-field label{color:var(--neutral-600);font-family:var(--font-family-sans);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cf-field input,.cf-field select,.cf-field textarea{background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-800);font-family:var(--font-family-sans);font-size:.9rem;padding:.6rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-field textarea{min-height:72px;resize:vertical}.cf-serving-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:100px 1fr}.cf-log-modal-content{max-width:400px!important}.cf-log-food-preview{background:var(--primary-50);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:.75rem 1rem}.cf-log-food-preview-name{color:var(--neutral-800);font-family:var(--font-family-display);font-size:.95rem;font-weight:700;margin:0 0 2px}.cf-log-food-preview-meta{color:var(--neutral-500);font-size:.78rem}.cf-log-meal-toggle{background:var(--neutral-100);border-radius:8px;display:flex;gap:2px;padding:4px}.cf-log-meal-btn{background:#0000;border:none;border-radius:6px;color:var(--neutral-500);cursor:pointer;flex:1 1;font-family:var(--font-family-sans);font-size:.78rem;font-weight:400;padding:7px 4px;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.cf-log-meal-btn--active{background:var(--primary-500);color:#fff;font-weight:600}.cf-log-serving-stepper{align-items:center;display:flex;gap:8px}.cf-log-serving-btn{align-items:center;background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-700);cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:36px;justify-content:center;transition:border-color .15s ease,color .15s ease;width:36px}.cf-log-serving-btn:hover:not(:disabled){border-color:var(--primary-400);color:var(--primary-600)}.cf-log-serving-btn:disabled{cursor:not-allowed;opacity:.35}.cf-log-serving-display{font-size:1rem;font-weight:700;min-width:56px}.cf-log-serving-display,.cf-log-serving-input{color:var(--neutral-800);font-family:var(--font-family-sans);text-align:center}.cf-log-serving-input{border:2px solid var(--primary-300);border-radius:var(--radius-md);font-size:.9rem;height:36px;padding:0 8px;width:70px}.cf-log-serving-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-log-nutrition-preview{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-600);display:flex;flex-wrap:wrap;font-family:var(--font-family-sans);font-size:.8rem;gap:6px;padding:8px 12px}.cf-log-nutrition-preview strong{color:var(--neutral-800)}.cf-review-section{margin-bottom:1.25rem}.cf-review-section-title{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.cf-review-name{color:var(--neutral-800);font-family:var(--font-family-display);font-size:1.2rem;font-weight:700;margin-bottom:4px}.cf-review-desc{color:var(--neutral-500);font-size:.85rem}.cf-review-ingredient-row{align-items:center;border-bottom:1px solid var(--neutral-100);display:flex;font-family:var(--font-family-sans);font-size:.83rem;gap:8px;justify-content:space-between;padding:6px 0}.cf-review-ingredient-row:last-child{border-bottom:none}.cf-review-ing-name{color:var(--neutral-700);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-review-ing-amt{color:var(--neutral-500);white-space:nowrap}.cf-review-ing-cal{color:var(--neutral-400);font-size:.78rem;white-space:nowrap}.cf-section-label{color:var(--neutral-400);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:1rem 0 .5rem;text-transform:uppercase}.cf-btn-back,.cf-section-label{font-family:var(--font-family-sans)}.cf-btn-back{align-items:center;background:#0000;border:2px solid var(--neutral-200);border-radius:var(--radius-full);color:var(--neutral-600);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:5px;padding:.5rem 1rem;transition:border-color .15s ease,color .15s ease}.cf-btn-back:hover{border-color:var(--neutral-400);color:var(--neutral-800)}.cf-wizard-content--narrow{max-width:460px}.cf-nutrition-section{display:flex;flex-direction:column;gap:.625rem}.cf-nutrition-field{display:flex;flex-direction:column;gap:4px}.cf-nutrition-field--calories .cf-nutrition-input-wrap input{font-size:1.5rem;font-weight:700;padding:.75rem 2.5rem .75rem .75rem;text-align:center}.cf-nutrition-input-wrap{align-items:center;display:flex;position:relative}.cf-nutrition-input-wrap input{-moz-appearance:textfield;background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-800);font-family:var(--font-family-sans);font-size:.9rem;padding:.6rem 2.25rem .6rem .75rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.cf-nutrition-input-wrap input::-webkit-inner-spin-button,.cf-nutrition-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none}.cf-nutrition-input-wrap input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-nutrition-unit-suffix{color:var(--neutral-400);font-family:var(--font-family-sans);font-size:.72rem;font-weight:600;pointer-events:none;position:absolute;right:8px;white-space:nowrap}.cf-macro-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.cf-secondary-toggle{align-items:center;background:none;border:none;color:var(--neutral-500);cursor:pointer;display:inline-flex;font-family:var(--font-family-sans);font-size:.8rem;gap:5px;margin-top:.5rem;padding:.5rem 0;transition:color .15s ease}.cf-secondary-toggle:hover{color:var(--primary-600)}.cf-secondary-fields{animation:fadeIn .18s ease-out}.cf-secondary-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.cf-serving-size-field{flex:1 1}.cf-serving-unit-field{flex:0 0 110px}.cf-ingredient-serving-label{color:var(--neutral-400);flex-shrink:0;font-family:var(--font-family-sans);font-size:.75rem;white-space:nowrap}.cf-log-food-name{align-items:baseline;background:var(--primary-50);border:1px solid #ea580c1f;border-radius:var(--radius-md);color:var(--neutral-800);display:flex;font-family:var(--font-family-display);font-size:1rem;font-weight:700;gap:.5rem;padding:.75rem 1rem}.cf-log-item-count{background:var(--neutral-100);border-radius:var(--radius-sm);color:var(--neutral-500);font-size:.72rem;padding:2px 6px}.cf-field-label,.cf-log-item-count{font-family:var(--font-family-sans);font-weight:600}.cf-field-label{color:var(--neutral-600);font-size:.75rem;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.cf-serving-stepper{align-items:center;display:flex;gap:6px}.cf-stepper-btn{align-items:center;background:#fff;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-600);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:border-color .15s ease,color .15s ease;width:36px}.cf-stepper-btn:hover{border-color:var(--primary-400);color:var(--primary-600)}.cf-stepper-input{-moz-appearance:textfield;border:2px solid var(--neutral-200);border-radius:var(--radius-md);color:var(--neutral-800);font-family:var(--font-family-sans);font-size:.9rem;font-weight:600;height:36px;padding:0 6px;text-align:center;width:64px}.cf-stepper-input::-webkit-inner-spin-button,.cf-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none}.cf-stepper-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c1f;outline:none}.cf-stepper-label{font-size:.85rem;font-weight:600}.cf-log-meal-note,.cf-stepper-label{color:var(--neutral-500);font-family:var(--font-family-sans)}.cf-log-meal-note{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-md);font-size:.8rem;line-height:1.5;margin-top:1rem;padding:.75rem 1rem}@media (max-width:480px){.custom-foods-container{padding:var(--spacing-md)}.cf-wizard-content{border-radius:0;height:100dvh;max-height:100dvh;max-width:100%}.cf-wizard-overlay{align-items:flex-end;padding:0}.cf-step-label{display:none}.cf-step-circle{font-size:.7rem;height:22px;width:22px}.cf-ingredient-cal{display:none}.cf-nutrition-macros,.cf-nutrition-secondary-grid{grid-template-columns:1fr}.cf-log-meal-btn{font-size:.7rem;padding:6px 2px}}@media (max-width:768px){.food-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cf-serving-row{grid-template-columns:80px 1fr}}.gethelp-page{margin:0 auto;max-width:720px;padding:0 0 3rem}.gethelp-header{padding:1.75rem 0 2.5rem}.gethelp-header-icon{align-items:center;background:oklch(95% .04 55);border-radius:12px;color:#ea580c;color:var(--primary-500,#ea580c);display:flex;height:48px;justify-content:center;margin-bottom:1rem;width:48px}.gethelp-title{color:oklch(22% .008 50);font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .7rem}.gethelp-intro{color:oklch(42% .008 50);font-size:1.025rem;line-height:1.65;margin:0;max-width:62ch}.gethelp-section{padding:0}.gethelp-section-title{align-items:center;color:oklch(22% .008 50);display:flex;font-size:1.2rem;font-weight:650;gap:.5rem;margin:0 0 .7rem}.gethelp-section-icon{color:#ea580c;color:var(--primary-500,#ea580c);flex-shrink:0}.gethelp-section-lead{color:oklch(42% .008 50);font-size:.95rem;line-height:1.65;margin:0 0 1.75rem;max-width:62ch}.gethelp-topics{margin-bottom:2rem}.gethelp-topics-label{color:oklch(55% .008 50);font-size:.75rem;font-weight:600;letter-spacing:.07em;margin:0 0 .8rem;text-transform:uppercase}.gethelp-topics-list{grid-gap:.55rem 2.5rem;display:grid;gap:.55rem 2.5rem;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}.gethelp-topic-item{color:oklch(32% .008 50);font-size:.9rem;line-height:1.45;padding-left:1.2rem;position:relative}.gethelp-topic-item:before{background:#fb923c;background:var(--primary-400,#fb923c);border-radius:50%;content:"";height:5px;left:0;position:absolute;top:.45em;width:5px}.gethelp-contact-block{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.5rem}.gethelp-contact-row{align-items:flex-start;color:oklch(35% .008 50);display:flex;font-size:.875rem;gap:.6rem;line-height:1.4;text-decoration:none;transition:color .15s ease}a.gethelp-contact-row:hover{color:#ea580c;color:var(--primary-500,#ea580c)}.gethelp-contact-row--static{cursor:default}.gethelp-contact-row svg{color:oklch(62% .01 55);flex-shrink:0;margin-top:.1em}.gethelp-cta-btn{align-items:center;background:#ea580c;background:var(--primary-500,#ea580c);border-radius:8px;color:oklch(98% .003 50);display:inline-flex;font-size:.875rem;font-weight:600;gap:.45rem;margin-bottom:1.25rem;padding:.575rem 1.2rem;text-decoration:none;transition:background .15s ease,transform .12s ease}.gethelp-cta-btn:hover{background:oklch(51% .18 45);color:oklch(98% .003 50);transform:translateY(-1px)}.gethelp-cta-btn--secondary{background:oklch(24% .008 50)}.gethelp-cta-btn--secondary:hover{background:oklch(32% .008 50);color:oklch(98% .003 50)}.gethelp-fine-print{color:oklch(55% .006 50);font-size:.8rem;line-height:1.6;margin:0;max-width:58ch}.gethelp-divider{background:oklch(91% .007 50);border:none;height:1px;margin:2.5rem 0}.gethelp-notice{background:oklch(95.5% .028 68);border-radius:12px;padding:1.5rem 1.75rem}.gethelp-notice-header{align-items:center;color:oklch(50% .1 52);display:flex;gap:.55rem;margin-bottom:.8rem}.gethelp-notice-title{color:oklch(28% .04 52);font-size:1rem;font-weight:650;margin:0}.gethelp-notice-body{color:oklch(36% .015 55);font-size:.9rem;line-height:1.65;margin:0 0 .7rem;max-width:58ch}.gethelp-notice-crisis{display:flex;flex-wrap:wrap;gap:1.75rem;margin-top:.5rem}.gethelp-crisis-row{align-items:center;color:oklch(32% .015 55);display:flex;font-size:.875rem;gap:.45rem}.gethelp-crisis-row svg{color:oklch(50% .1 52);flex-shrink:0}.gethelp-dining-panels{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.gethelp-dining-panel{background:oklch(97% .006 50);border-radius:10px;padding:1.25rem 1.4rem}.gethelp-panel-title{color:oklch(25% .008 50);font-size:.9rem;font-weight:650;margin:0 0 .55rem}.gethelp-panel-body{color:oklch(43% .008 50);font-size:.86rem;line-height:1.6;margin:0 0 1rem}.gethelp-dining-stats{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1rem}.gethelp-stat{display:flex;flex-direction:column}.gethelp-stat-num{color:#ea580c;color:var(--primary-500,#ea580c);font-size:1.4rem;font-weight:700;line-height:1.1}.gethelp-stat-label{color:oklch(52% .008 50);font-size:.68rem;letter-spacing:.05em;margin-top:.1rem;text-transform:uppercase}.gethelp-panel-links{display:flex;flex-direction:column;gap:.45rem}.gethelp-panel-link{align-items:center;color:#ea580c;color:var(--primary-500,#ea580c);display:inline-flex;font-size:.84rem;font-weight:500;gap:.35rem;text-decoration:none;transition:color .15s ease}.gethelp-panel-link:hover{color:oklch(42% .18 45)}.gethelp-emergency{align-items:center;background:oklch(94.5% .007 30);border-radius:8px;color:oklch(35% .01 30);display:flex;font-size:.82rem;gap:.6rem;margin-top:2.5rem;padding:.875rem 1.25rem}.gethelp-emergency svg{color:oklch(50% .04 30);flex-shrink:0}@media (max-width:600px){.gethelp-title{font-size:1.65rem}.gethelp-topics-list{gap:.5rem}.gethelp-dining-panels,.gethelp-topics-list{grid-template-columns:1fr}.gethelp-notice{padding:1.25rem}.gethelp-notice-crisis{flex-direction:column;gap:.55rem}.gethelp-dining-stats{gap:1rem}}:root{--primary-50:#fff7ed;--primary-100:#ffedd5;--primary-200:#fed7aa;--primary-300:#fdba74;--primary-400:#f97316;--primary-500:#ea580c;--primary-600:#c2410c;--primary-700:#9a3412;--primary-800:#7c2d12;--primary-900:#431407;--secondary-50:#eff6ff;--secondary-100:#dbeafe;--secondary-200:#bfdbfe;--secondary-300:#93c5fd;--secondary-400:#60a5fa;--secondary-500:#3b82f6;--secondary-600:#2563eb;--secondary-700:#1d4ed8;--secondary-800:#1e40af;--secondary-900:#1e3a8a;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-100:#fee2e2;--error-500:#ef4444;--error-600:#dc2626;--neutral-50:#fdfaf8;--neutral-100:#f5f0ec;--neutral-200:#e8e0d8;--neutral-300:#cec4ba;--neutral-400:#a09089;--neutral-500:#706056;--neutral-600:#524942;--neutral-700:#3a332c;--neutral-800:#241d17;--neutral-900:#140e08;--font-family-display:"Outfit","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif;--font-family-sans:"Rubik","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-mono:"SF Mono","Monaco","Inconsolata","Roboto Mono",monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #140e080f;--shadow-md:0 4px 6px -1px #140e0814,0 2px 4px -2px #140e080f;--shadow-lg:0 10px 15px -3px #140e0814,0 4px 6px -4px #140e080f;--shadow-xl:0 20px 25px -5px #140e0814,0 8px 10px -6px #140e080f;--shadow-2xl:0 25px 50px -12px #140e0826;--card-bg:#fff;--card-border:#ea580c1a;--card-shadow:0 1px 3px #140e080f,0 4px 12px #140e080a;--glass-bg:var(--card-bg);--glass-border:var(--card-border);--glass-backdrop:none}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fdfaf8;background:var(--neutral-50);color:#241d17;color:var(--neutral-800);font-family:Rubik,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-family-sans);line-height:1.6;margin:0;min-height:100vh;padding:0}h1,h2,h3,h4,h5,h6{font-family:Outfit,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-display);letter-spacing:-.02em}.App{min-height:100vh;position:relative}.home-container{margin:0 auto;max-width:1200px;padding:2rem;padding:var(--spacing-xl);position:relative}.hero-section{margin-bottom:4rem;margin-bottom:var(--spacing-3xl);position:relative;text-align:center;z-index:2}.hero-section:before{background:radial-gradient(circle,#fed7aa 0,#0000 70%);background:radial-gradient(circle,var(--primary-200) 0,#0000 70%);border-radius:50%;content:"";height:300px;left:50%;opacity:.5;position:absolute;top:-50px;transform:translateX(-50%);width:300px;z-index:-1}.app-logo{align-items:center;color:#ea580c;color:var(--primary-500);display:flex;font-family:Outfit,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-display);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;justify-content:center;letter-spacing:-.02em;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.logo-image{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));height:70px;margin-right:1.5rem;margin-right:var(--spacing-lg)}.app-tagline{color:#524942;color:var(--neutral-600);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:400;margin-bottom:3rem;margin-bottom:var(--spacing-2xl);margin-left:auto;margin-right:auto;max-width:600px}.features-section{margin:4rem 0;margin:var(--spacing-3xl) 0;position:relative}.features-section h2{color:#241d17;color:var(--neutral-800);font-size:2.5rem;font-weight:700;margin-bottom:3rem;margin-bottom:var(--spacing-2xl);position:relative;text-align:center}.features-section h2:after{background:#ea580c;background:var(--primary-500);border-radius:9999px;border-radius:var(--radius-full);bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:48px}.feature-card{background:#fff;background:var(--card-bg);border:1px solid #ea580c1a;border:1px solid var(--card-border);border-radius:1rem;border-radius:var(--radius-xl);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:3rem;padding:var(--spacing-2xl);position:relative;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.feature-card:hover{box-shadow:0 10px 15px -3px #140e0814,0 4px 6px -4px #140e080f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-card h4{color:#241d17;color:var(--neutral-800);font-size:1.5rem;font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.feature-card p{color:#524942;color:var(--neutral-600);line-height:1.7;margin:0}.author-section{background:#fff7ed;background:var(--primary-50);border:1px solid #ea580c1a;border:1px solid var(--card-border);border-radius:1.5rem;border-radius:var(--radius-2xl);margin-top:4rem;margin-top:var(--spacing-3xl);padding:4rem;padding:var(--spacing-3xl);position:relative}.author-section h3{color:#241d17;color:var(--neutral-800);font-size:2rem;font-weight:700;margin-bottom:3rem;margin-bottom:var(--spacing-2xl);text-align:center}.btn-modern{align-items:center;border:none;border-radius:9999px;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;justify-content:center;overflow:hidden;padding:1rem 3rem;padding:var(--spacing-md) var(--spacing-2xl);position:relative;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.btn-primary{background:#ea580c;background:var(--primary-500);border:2px solid #ea580c;border:2px solid var(--primary-500);color:#fff}.btn-primary:hover{background:#c2410c;background:var(--primary-600);border-color:#c2410c;border-color:var(--primary-600);box-shadow:0 4px 12px #ea580c47;transform:translateY(-1px)}.btn-primary:active{transform:scale(.97);transition:transform .08s ease}.btn-primary:disabled{background:#cec4ba;background:var(--neutral-300);border-color:#cec4ba;border-color:var(--neutral-300);box-shadow:none;color:#706056;color:var(--neutral-500);cursor:not-allowed;opacity:1;transform:none}.btn-success{background:#16a34a;background:var(--success-600);border:2px solid #16a34a;border:2px solid var(--success-600);color:#fff}.btn-success:hover{background:#15803d;background:var(--success-700);border-color:#15803d;border-color:var(--success-700);box-shadow:0 4px 12px #16a34a47;transform:translateY(-1px)}.btn-success:active{transform:scale(.97);transition:transform .08s ease}.btn-warning{background:#f59e0b;background:var(--warning-500);border:2px solid #f59e0b;border:2px solid var(--warning-500);color:#fff}.btn-warning:hover{background:#d97706;background:var(--warning-600);border-color:#d97706;border-color:var(--warning-600);box-shadow:0 4px 12px #f59e0b47;transform:translateY(-1px)}.btn-warning:active{transform:scale(.97);transition:transform .08s ease}.btn-warning:disabled{background:#cec4ba;background:var(--neutral-300);border-color:#cec4ba;border-color:var(--neutral-300);box-shadow:none;color:#706056;color:var(--neutral-500);cursor:not-allowed;transform:none}.btn-secondary{background:#0000;border:2px solid #cec4ba;border:2px solid var(--neutral-300);color:#3a332c;color:var(--neutral-700)}.btn-secondary:hover{background:#fff7ed;background:var(--primary-50);border-color:#ea580c;border-color:var(--primary-500);color:#c2410c;color:var(--primary-600)}.btn-secondary:active{transform:scale(.97);transition:transform .08s ease}.btn-outline-primary{background:#0000;border:2px solid #ea580c;border:2px solid var(--primary-500);color:#c2410c;color:var(--primary-600)}.btn-outline-primary:hover{background:#ea580c;background:var(--primary-500);border-color:#ea580c;border-color:var(--primary-500);box-shadow:0 4px 12px #ea580c47;color:#fff;transform:translateY(-1px)}.btn-outline-primary:active{transform:scale(.97);transition:transform .08s ease}.login-btn{align-items:center;background:#0000;border:2px solid #cec4ba;border:2px solid var(--neutral-300);border-radius:9999px;border-radius:var(--radius-full);color:#3a332c;color:var(--neutral-700);cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:600;justify-content:center;overflow:hidden;padding:1rem 3rem;padding:var(--spacing-md) var(--spacing-2xl);position:relative;text-decoration:none;transition:border-color .15s ease,color .15s ease,background-color .15s ease,transform .2s cubic-bezier(.16,1,.3,1)}.login-btn:hover{background:#fff7ed;background:var(--primary-50);border-color:#ea580c;border-color:var(--primary-500);color:#c2410c;color:var(--primary-600)}.team-card{background:#fff;background:var(--card-bg);border:1px solid #ea580c1a;border:1px solid var(--card-border);border-radius:1rem;border-radius:var(--radius-xl);padding:2rem;padding:var(--spacing-xl);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.team-card,.team-card:hover{color:inherit;text-decoration:none}.team-card:hover{box-shadow:0 10px 15px -3px #140e0814,0 4px 6px -4px #140e080f;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.auth-modal{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);background:#0006}.auth-modal .modal-dialog{animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1);margin:3rem auto;max-width:500px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal .modal-content{background:#fff;background:var(--card-bg);border:1px solid #ea580c1a;border:1px solid var(--card-border);border-radius:24px;box-shadow:0 20px 25px -5px #140e0814,0 8px 10px -6px #140e080f;box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.auth-modal .modal-header{background:linear-gradient(135deg,#f7690208,#f59e4208);border-bottom:1px solid #cbd5e133;border-radius:24px 24px 0 0;padding:2rem 2rem 1rem;position:relative}.auth-modal .modal-title{color:#ea580c;color:var(--primary-500);font-family:Outfit,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-family-display);font-size:1.875rem;font-weight:800;letter-spacing:-.025em;margin:0;text-align:center}.auth-modal .modal-body{padding:0 2rem 2rem;position:relative}.auth-modal .modal-footer{background:#f8fafc80;border-radius:0 0 24px 24px;border-top:1px solid #cbd5e14d;padding:1rem 2rem 2rem}.auth-tabs{background:#f5f0ec;background:var(--neutral-100);border:1px solid #e8e0d8;border:1px solid var(--neutral-200);border-radius:12px;display:flex;margin-bottom:2rem;padding:4px;position:relative}.auth-tab{background:#0000;border-radius:8px;color:#524942;color:var(--neutral-600);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;position:relative;text-align:center;transition:background .15s ease,color .15s ease}.auth-tab:hover{background:#e8e0d8;background:var(--neutral-200);color:#241d17;color:var(--neutral-800)}.auth-tab.active{background:#ea580c;background:var(--primary-500);box-shadow:0 2px 8px #ea580c4d;color:#fff;font-weight:700}.auth-form{display:none;opacity:0;transform:translateX(20px)}.auth-form.active{animation:slideInFade .25s cubic-bezier(.16,1,.3,1) forwards;display:block}@keyframes slideInFade{0%{opacity:0;transform:translateX(30px) scale(.95)}50%{opacity:.7;transform:translateX(10px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.alert{animation:alertSlideIn .4s ease-out;border:none;border-radius:12px;margin-bottom:1rem;overflow:hidden;padding:1rem 1.25rem;position:relative}.alert-danger{background:#fef2f2;background:var(--error-50);border:1px solid #fee2e2;border:1px solid var(--error-100);color:#dc2626;color:var(--error-600)}.alert-success{background:#f0fdf4;background:var(--success-50);border:1px solid #16a34a33;color:#15803d;color:var(--success-700)}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal .btn-close{background:#94a3b81a;border-radius:8px;opacity:.7;padding:.5rem;transition:background-color .2s ease,opacity .2s ease,transform .2s ease}.auth-modal .btn-close:hover{background:#ef44441a;opacity:1;transform:scale(1.1) rotate(90deg)}.form-group-modern:after{background:radial-gradient(circle,#f769021a 0,#0000 70%);border-radius:50%;content:"";height:300px;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .4s ease,opacity .4s ease;width:300px;z-index:0}.form-group-modern:focus-within:after{opacity:.6;transform:translate(-50%,-50%) scale(1)}.auth-modal.show{animation:backdropFadeIn .3s ease-out}@keyframes backdropFadeIn{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);opacity:1}}.form-group-modern{margin-bottom:1.5rem;position:relative}.form-label-modern{color:#3a332c;color:var(--neutral-700);display:block;font-size:.875rem;font-weight:600;letter-spacing:.025em;margin-bottom:.5rem;text-transform:uppercase;transition:color .15s ease}.form-control-modern{background:#fff;border:2px solid #e8e0d8;border:2px solid var(--neutral-200);border-radius:10px;color:#241d17;color:var(--neutral-800);font-size:1rem;font-weight:400;padding:1rem 1.25rem;position:relative;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-control-modern::placeholder{color:#a09089;color:var(--neutral-400);font-weight:400;opacity:.8}.form-control-modern:focus{background:#fff;border-color:#ea580c;border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c26;outline:none}.form-control-modern:focus+.form-label-modern{color:#c2410c;color:var(--primary-600)}.form-group-modern:before{background:#ea580c;background:var(--primary-500);border-radius:2px;bottom:-2px;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.16,1,.3,1);width:100%;z-index:1}.form-group-modern:focus-within:before{transform:scaleX(1)}.form-control-modern:hover:not(:focus){border-color:#fdba74;border-color:var(--primary-300)}.form-group-modern .input-icon{color:#a09089;color:var(--neutral-400);font-size:1.125rem;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:color .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.form-group-modern:focus-within .input-icon{color:#ea580c;color:var(--primary-500);transform:translateY(-50%) scale(1.1)}.theme-switch{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fff;background:var(--glass-bg);border:1px solid #ea580c1a;border:1px solid var(--glass-border);border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;height:40px;padding:4px;position:relative;width:72px}.theme-switch input{display:none}.slider{align-items:center;background:linear-gradient(135deg,#e8e0d8,#cec4ba);background:linear-gradient(135deg,var(--neutral-200),var(--neutral-300));border-radius:9999px;border-radius:var(--radius-full);bottom:0;cursor:pointer;display:flex;justify-content:space-between;left:0;padding:0 8px;position:absolute;right:0;top:0;transition:background-color .4s cubic-bezier(.16,1,.3,1)}.slider:before{background:linear-gradient(135deg,#ea580c,#3b82f6);background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));border-radius:50%;bottom:3px;box-shadow:0 4px 6px -1px #140e0814,0 2px 4px -2px #140e080f;box-shadow:var(--shadow-md);content:"";height:28px;left:3px;position:absolute;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .3s ease;width:28px;z-index:1}.dark-icon,.light-icon{color:#706056;color:var(--neutral-500);font-size:16px;transition:color .3s ease;z-index:0}.light-icon{margin-right:4px}.dark-icon{margin-left:4px}input:checked+.slider{background:linear-gradient(135deg,#524942,#3a332c);background:linear-gradient(135deg,var(--neutral-600),var(--neutral-700))}input:checked+.slider:before{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--warning-500),var(--warning-600));transform:translateX(32px)}input:checked+.slider .light-icon{color:#a09089;color:var(--neutral-400)}input:checked+.slider .dark-icon{color:var(--warning-400)}.chatbot-container{-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);background:#fff;background:var(--glass-bg);border:1px solid #ea580c1a;border:1px solid var(--glass-border);border-radius:1.5rem;border-radius:var(--radius-2xl);bottom:20px;box-shadow:0 25px 50px -12px #140e0826;box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;height:min(600px,calc(100dvh - 40px));overflow:hidden;position:fixed;right:20px;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,opacity .3s ease;width:min(400px,calc(100vw - 32px));z-index:1000}.chatbot-container.minimized{cursor:pointer;height:60px;width:300px}.chat-header{background:#ea580c;background:var(--primary-500);border-radius:1.5rem 1.5rem 0 0;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;color:#fff;justify-content:space-between;padding:1.5rem;padding:var(--spacing-lg)}.chat-header,.chat-title{align-items:center;display:flex}.chat-title{font-size:1.1rem;font-weight:600}.chat-buttons{display:flex;gap:.5rem;gap:var(--spacing-sm)}.btn-chat-action{align-items:center;background:#fff3;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;padding:.5rem;padding:var(--spacing-sm);transition:background-color .15s ease,transform .15s ease;width:32px}.btn-chat-action:hover{background:#ffffff4d;transform:scale(1.1)}.minimize-icon{font-size:1.2rem;font-weight:700;line-height:1}.chat-body{background:#fffffff2}.chat-body,.messages-container{display:flex;flex:1 1;flex-direction:column}.messages-container{gap:1rem;gap:var(--spacing-md);overflow-y:auto;padding:1.5rem;padding:var(--spacing-lg)}.message{animation:messageSlideIn .3s ease-out;display:flex;flex-direction:column;max-width:80%}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-message{align-self:flex-end}.bot-message{align-self:flex-start}.message-content{border-radius:.75rem;border-radius:var(--radius-lg);font-size:.95rem;line-height:1.5;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);position:relative}.user-message .message-content{background:linear-gradient(135deg,#ea580c,#c2410c);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-bottom-right-radius:.375rem;border-bottom-right-radius:var(--radius-sm);color:#fff}.bot-message .message-content{background:#f5f0ec;background:var(--neutral-100);border:1px solid #e8e0d8;border:1px solid var(--neutral-200);border-bottom-left-radius:.375rem;border-bottom-left-radius:var(--radius-sm);color:#241d17;color:var(--neutral-800)}.source-info{background:#fdfaf8;background:var(--neutral-50);border:1px solid #e8e0d8;border:1px solid var(--neutral-200);border-radius:.5rem;border-radius:var(--radius-md);color:#706056;color:var(--neutral-500);font-size:.8rem;margin-top:.5rem;margin-top:var(--spacing-sm);padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm)}.typing-indicator{align-items:center;align-self:flex-start;background:#f5f0ec;background:var(--neutral-100);border-radius:.75rem;border-radius:var(--radius-lg);border-bottom-left-radius:.375rem;border-bottom-left-radius:var(--radius-sm);display:flex;gap:4px;max-width:-webkit-fit-content;max-width:fit-content;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.typing-dot{animation:typingPulse 1.4s infinite;background:#a09089;background:var(--neutral-400);border-radius:50%;height:8px;width:8px}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,60%,to{opacity:.5;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.chat-input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:0 0 1.5rem 1.5rem;border-radius:0 0 var(--radius-2xl) var(--radius-2xl);border-top:1px solid #e8e0d8;border-top:1px solid var(--neutral-200);padding:1.5rem;padding:var(--spacing-lg)}.chat-input-container textarea{background:#ffffffe6;border:2px solid #e8e0d8;border:2px solid var(--neutral-200);border-radius:.75rem;border-radius:var(--radius-lg);font-family:inherit;font-size:.95rem;line-height:1.4;max-height:120px;min-height:44px;padding:1rem;padding:var(--spacing-md);resize:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.chat-input-container textarea:focus{background:#fff;border-color:#f97316;border-color:var(--primary-400);box-shadow:0 0 0 3px #ffedd5;box-shadow:0 0 0 3px var(--primary-100);outline:none}.chat-input-container textarea::placeholder{color:#a09089;color:var(--neutral-400)}.chatbot-container.minimized:hover{box-shadow:0 20px 25px -5px #140e0814,0 8px 10px -6px #140e080f;box-shadow:var(--shadow-xl);transform:scale(1.05)}.chatbot-container.minimized .chat-body,.chatbot-container.minimized .chat-input-container{display:none}.chat-notification{align-items:center;animation:notificationPulse 2s infinite;background:#ef4444;background:var(--error-500);color:#fff;display:flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;right:-8px;top:-8px;width:20px}@keyframes notificationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width:768px){.home-container{padding:1.5rem;padding:var(--spacing-lg)}.chatbot-container{left:20px;max-width:400px;right:20px;width:calc(100vw - 40px)}.app-logo{font-size:2.5rem}.features-section h2{font-size:2rem}.feature-card{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}}@media (max-width:480px){.chatbot-container{bottom:10px;left:10px;right:10px;width:calc(100vw - 20px)}.chatbot-container.minimized{left:auto;right:10px;width:250px}}.text-gradient{-webkit-text-fill-color:initial;background:none;-webkit-background-clip:initial;background-clip:initial;color:#ea580c;color:var(--primary-500)}.glass-card{background:#fff;background:var(--card-bg);border:1px solid #ea580c1a;border:1px solid var(--card-border);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #140e080f,0 4px 12px #140e080a;box-shadow:var(--card-shadow)}.shadow-elegant{box-shadow:0 25px 50px -12px #140e0826;box-shadow:var(--shadow-2xl)}.transition-smooth{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,opacity .3s ease}.loading-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,#e8e0d8 25%,#f5f0ec 50%,#e8e0d8 75%);background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.slider.round{border-radius:9999px;border-radius:var(--radius-full)}.slider.round:before{border-radius:50%}body.dark-mode{background-color:#121212;color:#e0e0e0}body.dark-mode .home-container{background-color:#1e1e1e;border:1px solid #333;box-shadow:0 4px 6px #0000004d}body.dark-mode .feature-card{background-color:#ff6c410f;border:1px solid #ff6c4133}body.dark-mode .author-section,body.dark-mode .team-card{background-color:#1e1e1e;border:1px solid #333}body.dark-mode .team-card{color:#e0e0e0}body.dark-mode .team-card:hover{background-color:#252525}body.dark-mode .auth-modal .modal-content{background-color:#252525;border:1px solid #333;color:#e0e0e0}body.dark-mode .form-control,body.dark-mode .form-select{background-color:#2c2c2c;border:1px solid #333;color:#e0e0e0}body.dark-mode .text-muted{color:#b0b0b0!important}body.dark-mode .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.chat-notification{background-color:#ff3b30;border:2px solid #fff;border-radius:50%;display:none;height:16px;position:absolute;right:-5px;top:-5px;width:16px}.chat-notification.active{display:block}@media (max-width:768px){.chatbot-container{bottom:80px;height:400px;max-width:320px;right:5%;width:90%}.chat-trigger-wrapper{bottom:15px;right:15px}.chat-icon-wrapper{height:45px;width:45px}.home-container{margin:10px;padding:20px}.app-logo{font-size:2.5rem}}@media (max-width:480px){.chat-trigger-text{display:none}}.nav-divider{background:#e8e0d8;background:var(--neutral-200);flex-shrink:0;height:20px;width:1px}.nav-link-secondary{align-items:center;border-radius:.5rem;border-radius:var(--radius-md);color:#524942;color:var(--neutral-600);display:inline-flex;font-size:.875rem;font-weight:500;gap:5px;padding:6px 10px;text-decoration:none;transition:color .15s ease,background-color .15s ease;white-space:nowrap}.nav-link-secondary:hover{text-decoration:none}.nav-link-secondary.active,.nav-link-secondary:hover{background:#fff7ed;background:var(--primary-50);color:#c2410c;color:var(--primary-600)}.nav-link-secondary.active{font-weight:600}.nav-account-badge{align-items:center;background:#fdfaf8;background:var(--neutral-50);border:1px solid #e8e0d8;border:1px solid var(--neutral-200);border-radius:9999px;border-radius:var(--radius-full);color:#3a332c;color:var(--neutral-700);display:inline-flex;font-size:.8125rem;font-weight:500;gap:5px;padding:5px 12px;text-decoration:none;transition:border-color .15s ease,color .15s ease;white-space:nowrap}.nav-account-badge.active,.nav-account-badge:hover{border-color:#fdba74;border-color:var(--primary-300);color:#c2410c;color:var(--primary-600);text-decoration:none}.nav-logout-btn{align-items:center;background:#0000;border:1px solid #e8e0d8;border:1px solid var(--neutral-200);border-radius:.5rem;border-radius:var(--radius-md);color:#706056;color:var(--neutral-500);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:border-color .15s ease,color .15s ease,background-color .15s ease;width:32px}.nav-logout-btn:hover{background:#fef2f2;background:var(--error-50);border-color:var(--error-300);color:#ef4444;color:var(--error-500)}.mobile-nav-section-label{color:#a09089;color:var(--neutral-400);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;padding-left:4px;text-transform:uppercase}.mobile-nav-link{align-items:center;background:#0000;border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#3a332c;color:var(--neutral-700);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;padding:10px 12px;text-align:left;text-decoration:none;transition:background-color .15s ease,color .15s ease;width:100%}.mobile-nav-link:hover{background:#f5f0ec;background:var(--neutral-100);color:#140e08;color:var(--neutral-900);text-decoration:none}.mobile-nav-link.active{background:#fff7ed;background:var(--primary-50);color:#c2410c;color:var(--primary-600);font-weight:600}.mobile-nav-logout:hover{background:#fef2f2;background:var(--error-50);color:#dc2626;color:var(--error-600)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}