@tailwind base;@tailwind components;@tailwind utilities;@layer base{.tw-page :where(*){border-style:solid;border-width:0;border-color:var(--crispi-bg-surface-border)}.tw-page :where(ul,ol){list-style:none}.tw-page :where(button,[type=button],[type=submit],[type=reset]){appearance:none;font:inherit;color:inherit;cursor:pointer;background-color:#0000;background-image:none}.tw-page :where(input,select,textarea){font:inherit;color:inherit;background-color:#0000}.tw-page :where(a){color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.tw-page :where(img,svg,video,canvas){max-width:100%;height:auto;display:block}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--crispi-bg-primary);color:var(--crispi-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (width>=1440px){.container{max-width:1400px}}@media (width>=1920px){.container{max-width:1600px;padding:0 2rem}}.btn{cursor:pointer;text-align:center;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--crispi-gradient-cta);color:var(--crispi-text-primary)}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background-color:var(--crispi-bg-surface);color:var(--crispi-text-secondary);border:1px solid var(--crispi-bg-surface-border)}.btn-secondary:hover{border-color:var(--crispi-text-muted)}.input{border:1px solid var(--crispi-bg-surface-border);background-color:var(--crispi-bg-surface);width:100%;color:var(--crispi-text-primary);border-radius:.5rem;padding:.75rem;font-size:1rem}.input:focus{border-color:var(--crispi-accent-success);box-shadow:0 0 0 3px var(--crispi-accent-success-bg);outline:none}.card{background:var(--crispi-bg-surface);border:1px solid var(--crispi-bg-surface-border);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000004d}.loading{justify-content:center;align-items:center;gap:.5rem;display:flex}.spinner{border:2px solid var(--crispi-bg-surface-border);border-top:2px solid var(--crispi-accent-success);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1200px){body{font-size:1.0625rem}.btn{padding:.875rem 1.75rem;font-size:1.0625rem}.input{padding:.875rem;font-size:1.0625rem}.card{padding:1.75rem}}@media (width>=1920px){body{font-size:1.125rem}.btn{padding:1rem 2rem;font-size:1.125rem}.input{padding:1rem;font-size:1.125rem}.card{border-radius:1rem;padding:2rem}}:root{--crispi-bg-primary:#1a1a2e;--crispi-bg-surface:#16213e;--crispi-bg-surface-border:#253350;--crispi-text-primary:#fff;--crispi-text-secondary:#a8b2c1;--crispi-text-muted:#4a5568;--crispi-accent-primary:#e94560;--crispi-accent-secondary:#f5a623;--crispi-accent-success:#34e89e;--crispi-accent-success-bg:#34e89e1f;--crispi-accent-danger:#e94560;--accent-green:#34e89e;--verified-safe-bg:#34e89e1f;--severity-allergy-bg:#2d5a5a;--severity-allergy-border:#3d7878;--severity-allergy-text:#fff;--severity-allergy-icon:#f5f0e8;--severity-preference-bg:#25335080;--severity-preference-border:#a8b2c1;--severity-preference-text:#a8b2c1;--severity-pending-border:#4a5568;--severity-pending-text:#a8b2c1;--crispi-gradient-cta:linear-gradient(90deg, #e94560, #f5a623);--crispi-gradient-hero:linear-gradient(135deg, #e94560, #f5a623, #fdcb6e);--crispi-gradient-security:linear-gradient(90deg, #0f3443, #34e89e1f);--crispi-font-headline:800 22px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--crispi-font-meal-title:700 18px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--crispi-font-body:400 13px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--crispi-font-label:600 11px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--crispi-font-badge:700 11px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--crispi-radius-sm:8px;--crispi-radius-md:12px;--crispi-radius-lg:14px;--crispi-radius-xl:16px;--crispi-shadow-card:0 2px 8px #0000004d;--crispi-shadow-overlay:0 8px 32px #00000080;--crispi-transition-fast:all .2s ease}.crispi-headline{font:var(--crispi-font-headline);color:var(--crispi-text-primary)}.crispi-meal-title{font:var(--crispi-font-meal-title);color:var(--crispi-text-primary)}.crispi-label{font:var(--crispi-font-label);color:var(--crispi-text-secondary);text-transform:uppercase;letter-spacing:.5px}.crispi-badge{font:var(--crispi-font-badge);text-transform:uppercase}.crispi-wordmark{font-weight:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;display:inline}.crispi-wordmark__i-accent{color:var(--crispi-accent-primary,#e94560);font-weight:inherit;font-size:inherit;line-height:inherit}.crispi-wordmark[data-size=lg]{letter-spacing:-.02em;font-size:2rem;font-weight:700}.crispi-wordmark[data-size=md],.crispi-wordmark[data-size=sm]{font-size:inherit;font-weight:inherit}@media (prefers-reduced-motion:reduce){.crispi-wordmark,.crispi-wordmark__i-accent{transition:none}}.onboarding-page{background:var(--crispi-bg-primary,#1a1a2e);min-height:100vh;color:var(--crispi-text-primary,#fff);flex-direction:column;display:flex}.onboarding-header{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.onboarding-header__back,.onboarding-header__skip{color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.875rem}.onboarding-header__title{margin:0;font-size:1.125rem;font-weight:700}.onboarding-hero{flex-direction:column;align-items:center;padding:1rem;display:flex}.onboarding-hero__image-wrapper{border-radius:var(--crispi-radius-md,8px);width:100%;max-width:320px;height:200px;margin-bottom:1rem;overflow:hidden}.onboarding-hero__image{object-fit:cover;width:100%;height:100%}.onboarding-hero__content{text-align:center;width:100%;max-width:400px}.onboarding-hero__title{margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.onboarding-hero__subtitle{color:var(--crispi-text-secondary,#ffffffb3);margin:0 0 1.5rem;font-size:1rem}.onboarding-hero__cta{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;width:100%;padding:.875rem;font-size:1rem;font-weight:600}.progress-dots{justify-content:center;gap:.5rem;padding:1rem;display:flex}.progress-dots__dot{background:var(--crispi-bg-surface-border,#fff3);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.progress-dots__dot--active{background:var(--crispi-accent-success,#4caf50);border-radius:4px;width:24px}.progress-dots__dot:disabled{cursor:default;opacity:.5}.proof-point-tile{background:var(--crispi-bg-surface,#ffffff0d);border-radius:var(--crispi-radius-md,8px);align-items:center;gap:.75rem;padding:.625rem 1rem;display:flex}.proof-point-tile__icon{flex-shrink:0;font-size:1.25rem}.proof-point-tile__text{color:var(--crispi-text-primary,#fff);font-size:.875rem}.onboarding-footer{margin-top:auto;padding:.75rem 1rem}.onboarding-footer__actions{gap:.5rem;display:flex}.onboarding-footer__primary{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;flex:1;padding:.75rem;font-weight:600}.onboarding-footer__secondary{color:var(--crispi-text-primary,#fff);border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);cursor:pointer;background:0 0;padding:.75rem 1rem}.welcome-screen{flex-direction:column;min-height:100vh;display:flex}.welcome-screen__body{flex-direction:column;flex:1;align-items:center;padding:0 1rem 2rem;display:flex}.welcome-screen__proof-points{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.75rem;width:100%;max-width:480px;padding:.5rem 0 1.5rem;display:flex;overflow-x:auto}.welcome-screen__proof-point-item{scroll-snap-align:start;flex:none;min-width:140px;max-width:180px}.welcome-screen__signin{text-align:center;padding:1rem 0}.welcome-screen__signin-text{color:var(--crispi-text-secondary,#ffffffb3);margin:0;font-size:.875rem}.welcome-screen__signin-link{color:var(--crispi-accent-primary,#4caf50);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.welcome-screen__signin-link:hover{opacity:.8}.welcome-screen__signin-sheet{z-index:1000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.welcome-screen__signin-sheet-backdrop{background:#00000080;position:absolute;inset:0}.welcome-screen__signin-sheet-content{background:var(--crispi-bg-primary,#1a1a2e);border-radius:var(--crispi-radius-xl,16px) var(--crispi-radius-xl,16px) 0 0;width:100%;max-width:480px;padding:1rem 1.5rem 2rem;position:relative}.welcome-screen__signin-sheet-handle{background:var(--crispi-bg-surface-border,#fff3);border-radius:2px;width:40px;height:4px;margin:0 auto 1rem}.welcome-screen__signin-sheet-title{text-align:center;margin:0 0 1rem;font-size:1.25rem;font-weight:700}.welcome-screen__signin-form{flex-direction:column;gap:.75rem;display:flex}.welcome-screen__signin-field{color:var(--crispi-text-secondary,#ffffffb3);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.welcome-screen__signin-field input{border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);background:var(--crispi-bg-surface,#ffffff0d);color:var(--crispi-text-primary,#fff);padding:.625rem;font-size:1rem}.welcome-screen__signin-submit{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;width:100%;margin-top:.5rem;padding:.75rem;font-size:1rem;font-weight:600}.welcome-screen__signin-close{color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;position:absolute;top:1rem;right:1rem}.organizer-screen{flex-direction:column;min-height:100vh;display:flex}.organizer-screen__body{flex-direction:column;flex:1;align-items:center;padding:0 1rem 2rem;display:flex}.organizer-screen__form{flex-direction:column;gap:1rem;width:100%;max-width:400px;padding:1rem 0;display:flex}.organizer-screen__field{flex-direction:column;gap:.25rem;display:flex}.organizer-screen__label{color:var(--crispi-text-secondary,#ffffffb3);font-size:.875rem;font-weight:500}.organizer-screen__input{border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);background:var(--crispi-bg-surface,#ffffff0d);color:var(--crispi-text-primary,#fff);padding:.625rem;font-size:1rem}.organizer-screen__input:focus{outline:2px solid var(--crispi-accent-success,#4caf50);outline-offset:1px}.organizer-screen__fieldset{border:none;margin:0;padding:0}.organizer-screen__age-bands{gap:.5rem;display:flex}.organizer-screen__age-chip{border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);background:var(--crispi-bg-surface,#ffffff0d);color:var(--crispi-text-primary,#fff);cursor:pointer;text-align:center;flex:1;padding:.625rem;font-size:.875rem}.organizer-screen__age-chip:hover{border-color:var(--crispi-text-secondary,#ffffffb3)}.organizer-screen__age-chip--selected{background:var(--crispi-accent-success-bg,#4caf5026);border-color:var(--crispi-accent-success,#4caf50)}.organizer-screen__account-toggle{padding:.5rem 0}.organizer-screen__toggle-btn{color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.875rem}.organizer-screen__toggle-btn:hover{color:var(--crispi-text-primary,#fff)}.organizer-screen__account-fields{flex-direction:column;gap:.75rem;display:flex}.organizer-screen__account-error{color:var(--crispi-accent-warning,#ff9800);border-radius:var(--crispi-radius-sm,4px);background:#ff98001a;margin:0;padding:.5rem;font-size:.875rem}.organizer-screen__signin-link{color:var(--crispi-accent-primary,#4caf50);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.compact-profile-tile{background:var(--crispi-bg-surface,#ffffff0d);border:1px solid var(--crispi-bg-surface-border,#ffffff1a);border-radius:var(--crispi-radius-md,8px);cursor:pointer;text-align:left;width:100%;color:var(--crispi-text-primary,#fff);align-items:center;gap:.75rem;padding:.625rem;display:flex}.compact-profile-tile__image-wrapper{background:var(--crispi-bg-surface,#ffffff1a);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.compact-profile-tile__image{object-fit:cover;width:100%;height:100%}.compact-profile-tile__placeholder{font-size:1.5rem}.compact-profile-tile__info{flex-direction:column;flex:1;gap:.125rem;display:flex}.compact-profile-tile__name{font-size:.9375rem;font-weight:600}.compact-profile-tile__age{color:var(--crispi-text-secondary,#ffffffb3);font-size:.8125rem}.compact-profile-tile__badge{background:var(--crispi-accent-success,#4caf50);color:#fff;border-radius:var(--crispi-radius-full,999px);padding:.25rem .5rem;font-size:.75rem}.add-profile-sheet__overlay{z-index:200;align-items:flex-end;display:flex;position:fixed;inset:0}.add-profile-sheet__backdrop{background:#00000080;position:absolute;inset:0}.add-profile-sheet__sheet{background:var(--crispi-bg-primary,#1a1a2e);border-radius:var(--crispi-radius-xl,16px) var(--crispi-radius-xl,16px) 0 0;width:100%;padding:1rem 1.5rem 2rem;position:relative}.add-profile-sheet__handle{background:var(--crispi-bg-surface-border,#fff3);border-radius:2px;width:40px;height:4px;margin:0 auto 1rem}.add-profile-sheet__title{margin:0 0 1rem;font-size:1.125rem;font-weight:700}.add-profile-sheet__field{color:var(--crispi-text-secondary,#ffffffb3);flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.add-profile-sheet__field input,.add-profile-sheet__field select{border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);background:var(--crispi-bg-surface,#ffffff0d);color:var(--crispi-text-primary,#fff);padding:.625rem;font-size:1rem}.add-profile-sheet__add{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;width:100%;margin-top:.5rem;padding:.75rem;font-weight:600}.add-profile-sheet__add:disabled{opacity:.5;cursor:not-allowed}.family-screen{gap:var(--crispi-spacing-md,16px);padding:0 var(--crispi-spacing-md,16px);flex-direction:column;display:flex}.family-screen__profile-list{gap:var(--crispi-spacing-sm,8px);flex-direction:column;display:flex}.family-screen__organizer-tile{background:var(--crispi-bg-card,#1a1a2e);border:1px solid var(--crispi-accent-success,#34e89e)}.family-screen__add-btn{padding:var(--crispi-spacing-sm,8px) var(--crispi-spacing-md,16px);border:1px dashed var(--crispi-bg-surface-border,#2a2a3e);border-radius:var(--crispi-radius-md,8px);color:var(--crispi-text-secondary,#a0a0b0);cursor:pointer;background:0 0;justify-content:center;align-items:center;min-height:44px;font-size:14px;transition:border-color .15s,color .15s;display:flex}.family-screen__add-btn:hover,.family-screen__add-btn:focus-visible{border-color:var(--crispi-accent-primary,#e94560);color:var(--crispi-text-primary,#fff)}.family-screen__add-btn:focus-visible{outline:2px solid var(--crispi-accent-primary,#e94560);outline-offset:2px}@media (prefers-reduced-motion:reduce){.family-screen__add-btn{transition:none}}.ConstraintSeverityChip{letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:28px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.ConstraintSeverityChip--allergy{background:var(--severity-allergy-bg,#2d5a5a);border:2px solid var(--severity-allergy-border,#3d7878);color:var(--severity-allergy-text,#fff)}.ConstraintSeverityChip--medical{background:var(--severity-medical-bg,var(--severity-allergy-bg,#2d5a5a));border:2px solid var(--severity-medical-border,var(--severity-allergy-border,#3d7878));color:var(--severity-medical-text,var(--severity-allergy-text,#fff))}.ConstraintSeverityChip--preference{background:var(--severity-preference-bg,#25335080);border:1px solid var(--severity-preference-border,#a8b2c1);color:var(--severity-preference-text,#a8b2c1)}.ConstraintSeverityChip--pending{border:1px dashed var(--severity-pending-border,var(--severity-preference-border,#a8b2c1));color:var(--severity-pending-text,var(--severity-preference-text,#a8b2c1));background:0 0}.ConstraintSeverityChip__icon{flex-shrink:0}.ConstraintSeverityChip__sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ConstraintSeverityChip__button{all:unset;cursor:pointer;align-items:center;gap:inherit;min-width:44px;min-height:44px;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;padding:0 6px;display:inline-flex}.ConstraintSeverityChip__button:focus-visible{outline:2px solid var(--crispi-accent-success,#34e89e);outline-offset:2px;border-radius:999px}@media (prefers-reduced-motion:reduce){.ConstraintSeverityChip,.ConstraintSeverityChip *{transition:none!important;animation:none!important}}.VerifiedSafeBadge{background:var(--verified-safe-bg,#34e89e1f);color:var(--accent-green,#34e89e);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.VerifiedSafeBadge__sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.VerifiedSafeBadge--sm{height:24px;padding:2px 6px;font-size:10px}.VerifiedSafeBadge--md{height:28px;font-size:11px}.VerifiedSafeBadge--lg{height:32px;padding:4px 10px;font-size:12px}.VerifiedSafeBadge--compact{gap:0;padding:2px 4px}.VerifiedSafeBadge__icon{flex-shrink:0;display:inline-block}.VerifiedSafeBadge__text{letter-spacing:inherit}@media (prefers-reduced-motion:reduce){.VerifiedSafeBadge,.VerifiedSafeBadge *{transition:none!important;animation:none!important}}.allergens-screen{flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:1.5rem;display:flex}.allergens-screen--gravity{background:linear-gradient(#0a1628 0%,#0f1f35 100%);border-radius:12px;margin:1rem;padding:2rem 1.5rem}.allergens-screen__progress{margin-bottom:1rem}.allergens-screen__hero{text-align:center;margin-bottom:1.5rem}.allergens-screen__severity-fieldset{border:2px solid #ffffff26;border-radius:8px;width:100%;margin-bottom:1.5rem;padding:1.25rem}.allergens-screen__severity-legend{color:#ffffffe6;padding:0 .5rem;font-size:1rem;font-weight:600}.allergens-screen__severity-options{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.allergens-screen__severity-option{cursor:pointer;color:#fffc;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:all .15s;display:flex}.allergens-screen__severity-option:hover{background:#ffffff0d;border-color:#ffffff40}.allergens-screen__severity-option--selected{border-color:var(--accent-green,#2ecc71);color:#fff;background:#2ecc711a}.allergens-screen__severity-option input[type=radio]{accent-color:var(--accent-green,#2ecc71);width:18px;height:18px}.allergens-screen__severity-gate{width:100%;margin-top:1rem}.allergens-screen__chip-row{background:#2ecc7114;border:1px solid #2ecc7133;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:flex}.allergens-screen__chip-row-label{color:#ffffffb3;margin-right:.25rem;font-size:.875rem}.allergens-screen__chip-wrapper{align-items:center;gap:.25rem;display:inline-flex}.allergens-screen__common-allergens{margin-bottom:1rem}.allergens-screen__common-label{color:#fff9;margin-bottom:.5rem;font-size:.875rem}.allergens-screen__common-chips{flex-wrap:wrap;gap:.5rem;display:flex}.allergens-screen__common-chip-btn{color:#fffc;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:20px;min-width:44px;min-height:44px;padding:.5rem .75rem;font-size:.875rem;transition:all .15s}.allergens-screen__common-chip-btn:hover{border-color:var(--accent-green,#2ecc71);color:#fff;background:#2ecc711a}.allergens-screen__common-chip-btn:focus-visible{outline:2px solid var(--accent-green,#2ecc71);outline-offset:2px}.allergens-screen__custom-input{margin-bottom:1rem}.allergens-screen__custom-label{color:#fff9;margin-bottom:.5rem;font-size:.875rem;display:block}.allergens-screen__custom-row{gap:.5rem;display:flex}.allergens-screen__custom-field{color:#fff;background:#ffffff0d;border:1px solid #fff3;border-radius:8px;flex:1;padding:.625rem .75rem;font-size:.875rem}.allergens-screen__custom-field::placeholder{color:#fff6}.allergens-screen__custom-field:focus{border-color:var(--accent-green,#2ecc71);outline:none}.allergens-screen__custom-add-btn{border:1px solid var(--accent-green,#2ecc71);background:var(--accent-green,#2ecc71);color:#fff;cursor:pointer;border-radius:8px;min-width:44px;min-height:44px;padding:.625rem 1rem;font-size:.875rem;font-weight:600}.allergens-screen__custom-add-btn:disabled{opacity:.5;cursor:not-allowed}.allergens-screen__add-another-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:1px dashed #ffffff40;border-radius:8px;width:100%;min-height:44px;padding:.75rem;font-size:.875rem;transition:all .15s}.allergens-screen__add-another-btn:hover{border-color:var(--accent-green,#2ecc71);color:var(--accent-green,#2ecc71)}.allergens-screen__preferences{background:#ffffff0d;border-radius:8px;width:100%;margin-top:1rem;padding:1rem}.allergens-screen__preferences-info{color:#fff9;margin:0;font-size:.875rem}.allergens-screen__confirm-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@media (width<=480px){.allergens-screen{padding:1rem}.allergens-screen--gravity{margin:.5rem;padding:1.5rem 1rem}.allergens-screen__common-chips{gap:.375rem}.allergens-screen__common-chip-btn{padding:.375rem .625rem;font-size:.8125rem}}.complete-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.complete-screen__progress{margin-bottom:2rem}.complete-screen__shield{opacity:0;margin-bottom:1.5rem;transform:scale(.8)}.complete-screen__shield--animate{animation:1.5s ease-out forwards shieldFlash}@keyframes shieldFlash{0%{opacity:0;transform:scale(.8)}30%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}.complete-screen__shield-icon{filter:drop-shadow(0 0 20px var(--crispi-accent-success,#2ecc71))}.complete-screen__hero{text-align:center}@media (prefers-reduced-motion:reduce){.complete-screen__shield{opacity:1;transform:scale(1)}.complete-screen__shield--animate{animation:none}}.pantry-warm-start{flex-direction:column;min-height:100vh;display:flex}.pantry-warm-start__body{flex-direction:column;flex:1;align-items:center;padding:0 1rem 2rem;display:flex}.pantry-warm-start__hero-image{border-radius:var(--crispi-radius-md,8px);background:var(--crispi-bg-surface,#ffffff0d);justify-content:center;align-items:center;width:100%;max-width:320px;height:180px;margin-bottom:1rem;display:flex;overflow:hidden}.pantry-warm-start__hero-graphic{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.pantry-warm-start__hero-icon{opacity:.7;font-size:4rem}.pantry-warm-start__skip-btn{border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;background:0 0;width:100%;max-width:400px;margin:.75rem 0;padding:.625rem 1.25rem;font-size:.875rem}.pantry-warm-start__skip-btn:hover{border-color:var(--crispi-text-primary,#fff);color:var(--crispi-text-primary,#fff)}.pantry-warm-start__benefits{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.75rem;width:100%;max-width:480px;padding:.5rem 0 1rem;display:flex;overflow-x:auto}.pantry-warm-start__benefit-item{scroll-snap-align:start;flex:none;min-width:130px;max-width:160px}.pantry-warm-start__footer-note{color:var(--crispi-text-muted,#fff6);text-align:center;margin:.5rem 0 1rem;font-size:.8125rem}.plans-page{background:var(--crispi-bg-primary,#1a1a2e);min-height:100vh;color:var(--crispi-text-primary,#fff);padding-bottom:80px}.plans-header{z-index:100;background:var(--crispi-bg-primary,#1a1a2e);border-bottom:1px solid var(--crispi-bg-surface-border,#ffffff1a);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex;position:sticky;top:0}.plans-header__back,.plans-header__overflow{color:var(--crispi-text-primary,#fff);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem}.plans-header__title{margin:0;font-size:1.25rem;font-weight:700}.week-scope-strip{color:var(--crispi-text-secondary,#ffffffb3);background:var(--crispi-bg-surface,#ffffff0d);border-radius:var(--crispi-radius-sm,4px);align-items:center;gap:.375rem;margin:0 1rem .5rem;padding:.5rem 1rem;font-size:.8125rem;display:flex}.week-scope-strip__check{color:var(--crispi-accent-success,#4caf50)}.week-scope-sep{opacity:.5}.week-strip{padding:.5rem 1rem;overflow-x:auto}.week-strip__list{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.week-strip__tile{flex:none}.week-strip__btn{border-radius:var(--crispi-radius-sm,4px);color:var(--crispi-text-primary,#fff);cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:.25rem;min-width:48px;padding:.5rem;display:flex}.week-strip__tile--active .week-strip__btn{border-color:var(--crispi-accent-primary,#4caf50)}.week-strip__weekday{text-transform:uppercase;opacity:.7;font-size:.6875rem}.week-strip__date{font-size:.8125rem;font-weight:600}.week-strip__thumb{object-fit:cover;border-radius:4px;width:32px;height:32px}.week-strip__status{color:var(--crispi-accent-success,#4caf50);font-size:.75rem}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.day-plan-hero{border-radius:var(--crispi-radius-md,8px);background:var(--crispi-bg-surface,#ffffff0d);margin:0 1rem 1rem;overflow:hidden}.day-plan-hero__image-wrapper{width:100%;height:200px;overflow:hidden}.day-plan-hero__image{object-fit:cover;width:100%;height:100%}.day-plan-hero__content{padding:1rem}.day-plan-hero__title{margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.day-plan-hero__meta{color:var(--crispi-text-secondary,#ffffffb3);margin:0 0 .75rem;font-size:.8125rem}.day-plan-hero__actions{gap:.5rem;display:flex}.day-plan-hero__primary{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;flex:1;padding:.75rem;font-weight:600}.day-plan-hero__secondary{color:var(--crispi-text-primary,#fff);border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);cursor:pointer;background:0 0;padding:.75rem 1rem}.day-plan-hero__secondary:disabled{opacity:.4;cursor:not-allowed}.day-plan-hero--transitioning{opacity:0;transition:opacity .175s ease-out}@media (prefers-reduced-motion:reduce){.day-plan-hero--transitioning{transition:none}}.quick-jump-strip{gap:.375rem;padding:.5rem 1rem;display:flex;overflow-x:auto}.quick-jump-strip__tile{background:var(--crispi-bg-surface,#ffffff0d);border-radius:var(--crispi-radius-full,999px);color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;display:flex}.quick-jump-strip__tile--active{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-color:var(--crispi-accent-primary,#4caf50)}.quick-jump-strip__star{font-size:.625rem}.compact-recipe-tile{background:var(--crispi-bg-surface,#2a2a3e);border:1px solid var(--crispi-bg-surface-border,#ffffff1a);border-radius:var(--crispi-radius-md,8px);cursor:pointer;text-align:left;width:140px;color:inherit;padding:0;position:relative;overflow:hidden}.compact-recipe-tile--safe{border-color:var(--crispi-accent-success,#4caf50)}.compact-recipe-tile__image{object-fit:cover;width:100%;height:90px}.compact-recipe-tile__placeholder{background:var(--crispi-bg-tertiary,#333);justify-content:center;align-items:center;width:100%;height:90px;font-size:2rem;display:flex}.compact-recipe-tile__info{flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.compact-recipe-tile__name{font:var(--crispi-font-label,.75rem 600 sans-serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-recipe-tile__time{font:var(--crispi-font-caption,.625rem 400 sans-serif);color:var(--crispi-text-secondary,#aaa)}.compact-recipe-tile__badge{background:var(--crispi-accent-success,#4caf50);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex;position:absolute;top:4px;right:4px}@media (prefers-reduced-motion:reduce){.compact-recipe-tile{transition:none}}.next-week-peek-wrapper{width:100%;position:relative}.next-week-peek{border:none;border-top:1px solid var(--crispi-bg-surface-border,#ffffff1a);width:100%;color:var(--crispi-accent-primary,#4caf50);cursor:pointer;text-align:left;background:0 0;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:block}.next-week-peek:hover{background:#4caf500d}.next-week-peek:focus-visible{outline:2px solid var(--crispi-accent-primary,#4caf50);outline-offset:-2px}.next-week-peek-popover{background:var(--crispi-bg-surface,#1a1a2e);border:1px solid var(--crispi-bg-surface-border,#ffffff1a);z-index:10;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;animation:.15s ease-out peek-popover-in;display:grid;position:absolute;bottom:100%;left:0;right:0;box-shadow:0 -4px 12px #0000004d}.next-week-peek-popover.no-transition{animation:none}@keyframes peek-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.next-week-peek-popover{display:none}}.plans-footer{padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0));background:var(--crispi-bg-primary,#1a1a2e);border-top:1px solid var(--crispi-bg-surface-border,#ffffff1a);z-index:100;position:fixed;bottom:0;left:0;right:0}.plans-footer__actions{gap:.5rem;display:flex}.plans-footer__primary{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;flex:1;padding:.75rem;font-weight:600}.plans-footer__secondary{color:var(--crispi-text-primary,#fff);border:1px solid var(--crispi-bg-surface-border,#fff3);border-radius:var(--crispi-radius-sm,4px);cursor:pointer;background:0 0;padding:.75rem 1rem}.sunday-banner{background:var(--crispi-bg-surface,#ffffff0d);border-radius:var(--crispi-radius-md,8px);border-left:3px solid var(--crispi-accent-primary,#4caf50);align-items:center;gap:.75rem;margin:.5rem 1rem;padding:.75rem 1rem;display:flex}.sunday-banner__content{flex:1;align-items:center;gap:.75rem;display:flex}.sunday-banner__text{color:var(--crispi-text-primary,#fff);margin:0;font-size:.875rem}.sunday-banner__cta{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;white-space:nowrap;border:none;padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.sunday-banner__dismiss{color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem}.sunday-banner--fading{opacity:0;transition:opacity .2s ease-out}@media (prefers-reduced-motion:reduce){.sunday-banner--fading{transition:none}}.week-planned-moment{text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:.3s ease-out week-planned-fade-in;display:flex}.week-planned-moment--reduced-motion{animation:none}.week-planned-moment__badge{margin-bottom:1rem}.week-planned-moment__headline{color:var(--crispi-text-primary,#fff);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.week-planned-moment__summary{color:var(--crispi-text-secondary,#a8b2c1);margin:0;font-size:.9rem}@keyframes week-planned-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.acquisition-panel{background:#fff;border-radius:12px;margin:16px 0;padding:20px;box-shadow:0 2px 8px #0000001a}.acquisition-panel--loading,.acquisition-panel--error,.acquisition-panel--empty,.acquisition-panel--needs-location{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.acquisition-panel__spinner{margin-bottom:16px}.spinner{border:3px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.acquisition-panel__error-message{color:#d32f2f;margin-bottom:12px}.acquisition-panel__retry-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:background .2s}.acquisition-panel__retry-btn:hover{background:#45a049}.acquisition-panel__location-prompt{flex-direction:column;align-items:center;gap:12px;display:flex}.acquisition-panel__location-icon{font-size:32px}.acquisition-panel__location-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;padding:12px 24px;font-weight:500;transition:all .2s}.acquisition-panel__location-btn:hover{background:#45a049;transform:translateY(-1px)}.acquisition-panel__header{margin-bottom:20px}.acquisition-panel__title{color:#333;margin:0 0 8px;font-size:1.25rem;font-weight:600}.acquisition-panel__recommendation{color:#4caf50;margin:0;font-size:.9rem}.acquisition-panel__toast{color:#fff;z-index:1000;background:#333;border-radius:8px;padding:12px 24px;font-size:.9rem;animation:.3s slideUp;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.acquisition-panel__options{flex-direction:column;gap:12px;display:flex}.acquisition-option{border:1px solid #e0e0e0;border-radius:10px;transition:all .2s;overflow:hidden}.acquisition-option:hover{border-color:silver}.acquisition-option--expanded{border-color:#4caf50;box-shadow:0 2px 8px #4caf5026}.acquisition-option--best{background:linear-gradient(90deg,#4caf500d,#0000);border-color:#4caf50}.acquisition-option--unavailable{opacity:.5;border-color:#e0e0e0}.acquisition-option__header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:16px;transition:background .2s;display:flex}.acquisition-option__header:hover:not(:disabled){background:#00000005}.acquisition-option__header:disabled{cursor:not-allowed}.acquisition-option__header-left{align-items:center;gap:12px;display:flex}.acquisition-option__icon{font-size:1.5rem}.acquisition-option__header-text{flex-direction:column;gap:2px;display:flex}.acquisition-option__title{color:#333;align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.acquisition-option__badge{color:#fff;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:500}.acquisition-option__subtitle{color:#666;font-size:.85rem}.acquisition-option__header-right{align-items:center;gap:12px;display:flex}.acquisition-option__price{color:#333;font-size:1.25rem;font-weight:700}.acquisition-option--best .acquisition-option__price{color:#4caf50}.acquisition-option__chevron{color:#999;font-size:.8rem;transition:transform .2s}.acquisition-option__chevron--up{transform:rotate(180deg)}.acquisition-option__content{border-top:1px solid #f0f0f0;padding:0 16px 16px;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.acquisition-option__breakdown{border-bottom:1px solid #f0f0f0;padding:12px 0}.acquisition-option__breakdown-row{justify-content:space-between;padding:4px 0;font-size:.9rem;display:flex}.acquisition-option__breakdown-row--muted{color:#999;font-style:italic}.acquisition-option__time{color:#666;align-items:center;gap:8px;padding:12px 0;font-size:.9rem;display:flex}.acquisition-option__time-icon{font-size:1rem}.acquisition-option__time-text{color:#333;font-weight:500}.acquisition-option__time-detail,.acquisition-option__time-note{color:#999;font-size:.8rem}.acquisition-option__stores{border-top:1px solid #f0f0f0;padding:12px 0}.acquisition-option__store{border-bottom:1px dashed #f0f0f0;padding:8px 0}.acquisition-option__store:last-child{border-bottom:none}.acquisition-option__store-header{align-items:center;gap:8px;display:flex}.acquisition-option__store-number{color:#fff;background:#4caf50;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:600;display:flex}.acquisition-option__store-name{flex:1;font-weight:500}.acquisition-option__store-subtotal{color:#333;font-weight:600}.acquisition-option__store-items{color:#999;margin-top:4px;margin-left:28px;font-size:.8rem}.acquisition-option__actions{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.acquisition-option__action-btn{cursor:pointer;white-space:nowrap;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;flex:1;min-width:80px;padding:10px 12px;font-size:.85rem;font-weight:500;transition:all .2s}.acquisition-option__action-btn:hover:not(:disabled){background:#ebebeb;border-color:#d0d0d0}.acquisition-option__action-btn:disabled{opacity:.6;cursor:not-allowed}.acquisition-option__action-btn--primary{color:#fff;background:#4caf50;border-color:#4caf50}.acquisition-option__action-btn--primary:hover:not(:disabled){background:#45a049;border-color:#45a049}.acquisition-option__purchased-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:.95rem;font-weight:600;transition:all .2s}.acquisition-option__purchased-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.acquisition-panel__footer{border-top:1px solid #f0f0f0;margin-top:16px;padding-top:12px}.acquisition-panel__disclaimer{color:#999;margin:0;font-size:.75rem}@media (width<=600px){.acquisition-panel{border-radius:8px;margin:12px 0;padding:16px}.acquisition-option__header{padding:12px}.acquisition-option__header-left{gap:8px}.acquisition-option__icon{font-size:1.25rem}.acquisition-option__title{font-size:.9rem}.acquisition-option__subtitle{font-size:.8rem}.acquisition-option__price{font-size:1.1rem}.acquisition-option__content{padding:0 12px 12px}.acquisition-option__actions{flex-direction:column}.acquisition-option__action-btn{min-width:100%}.acquisition-panel__toast{text-align:center;left:16px;right:16px;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (width<=380px){.acquisition-option__badge{display:none}.acquisition-option__header-text{max-width:140px}.acquisition-option__subtitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.purchased-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.purchased-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #0003}.purchased-modal__header{border-bottom:1px solid #e8e8e8;padding:20px 24px 16px;position:relative}.purchased-modal__title{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:600}.purchased-modal__store{color:#666;margin:4px 0 0;font-size:.875rem}.purchased-modal__close{cursor:pointer;color:#666;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.purchased-modal__close:hover{color:#333;background:#e0e0e0}.purchased-modal__content{flex:1;padding:16px 24px;overflow-y:auto}.purchased-modal__actions-top{gap:8px;margin-bottom:12px;font-size:.8125rem;display:flex}.purchased-modal__action-link{color:#4caf50;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.purchased-modal__action-link:hover{color:#388e3c}.purchased-modal__action-divider{color:#ccc}.purchased-modal__items{flex-direction:column;gap:8px;max-height:300px;margin-bottom:16px;display:flex;overflow-y:auto}.purchased-item{background:#f9f9f9;border:2px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.purchased-item--checked{background:#e8f5e9;border-color:#4caf50}.purchased-item__checkbox{flex-shrink:0;width:24px;height:24px;position:relative}.purchased-item__checkbox input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.purchased-item__checkmark{color:#0000;background:#fff;border:2px solid #ccc;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;transition:all .2s;display:flex;position:absolute;top:0;left:0}.purchased-item__checkbox input:checked~.purchased-item__checkmark{color:#fff;background:#4caf50;border-color:#4caf50}.purchased-item__info{flex-direction:column;flex:1;min-width:0;display:flex}.purchased-item__name{color:#333;white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:500;overflow:hidden}.purchased-item__quantity{color:#888;font-size:.75rem}.purchased-item__pantry-toggle{cursor:pointer;flex-shrink:0}.purchased-item__pantry-toggle input{opacity:0;width:0;height:0;position:absolute}.purchased-item__pantry-icon{background:#f0f0f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:all .2s;display:flex}.purchased-item__pantry-toggle input:checked~.purchased-item__pantry-icon{background:#e3f2fd}.purchased-modal__stats{color:#666;background:#f5f5f5;border-radius:8px;justify-content:space-between;margin-bottom:16px;padding:12px 16px;font-size:.875rem;display:flex}.purchased-modal__total{color:#333;font-weight:600}.purchased-modal__pantry-section{background:#fafafa;border:1px solid #e8e8e8;border-radius:10px;padding:16px}.purchased-modal__pantry-toggle{cursor:pointer;align-items:center;gap:12px;display:flex}.purchased-modal__pantry-toggle input[type=checkbox]{accent-color:#4caf50;width:20px;height:20px}.purchased-modal__pantry-label{color:#333;align-items:center;gap:8px;font-weight:500;display:flex}.purchased-modal__pantry-icon{font-size:1.25rem}.purchased-modal__pantry-details{border-top:1px solid #e0e0e0;margin-top:12px;padding-top:12px}.purchased-modal__pantry-hint{color:#666;margin:0 0 12px;font-size:.8125rem}.purchased-modal__date-input{align-items:center;gap:12px;display:flex}.purchased-modal__date-input label{color:#555;font-size:.875rem}.purchased-modal__date-input input{border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:.875rem}.purchased-modal__date-input input:focus{border-color:#4caf50;outline:none}.purchased-modal__footer{border-top:1px solid #e8e8e8;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.purchased-modal__btn{cursor:pointer;border-radius:8px;padding:12px 24px;font-size:.9375rem;font-weight:500;transition:all .2s}.purchased-modal__btn--primary{color:#fff;background:#4caf50;border:none}.purchased-modal__btn--primary:hover:not(:disabled){background:#45a049}.purchased-modal__btn--primary:disabled{cursor:not-allowed;background:#c8e6c9}.purchased-modal__btn--secondary{color:#666;background:#fff;border:1px solid #ddd}.purchased-modal__btn--secondary:hover{background:#f5f5f5;border-color:#bbb}@media (width<=480px){.purchased-modal-overlay{align-items:flex-end;padding:0}.purchased-modal{border-radius:16px 16px 0 0;max-width:100%;max-height:85vh}.purchased-modal__header{padding:16px 20px}.purchased-modal__content{padding:12px 20px}.purchased-modal__items{max-height:250px}.purchased-modal__footer{flex-direction:column;padding:12px 20px 24px}.purchased-modal__btn{text-align:center;width:100%}}.delivery-settings{background:#fff;border-radius:12px;max-width:600px;padding:24px;box-shadow:0 2px 8px #0000001a}.delivery-settings__header{margin-bottom:24px}.delivery-settings__title{color:#1a1a1a;margin:0 0 8px;font-size:1.25rem;font-weight:600}.delivery-settings__subtitle{color:#666;margin:0;font-size:.875rem}.delivery-settings__section{border-bottom:1px solid #e0e0e0;margin-bottom:24px;padding-bottom:24px}.delivery-settings__section:last-of-type{border-bottom:none}.delivery-settings__section-title{color:#333;margin:0 0 4px;font-size:1rem;font-weight:600}.delivery-settings__section-desc{color:#888;margin:0 0 16px;font-size:.8125rem}.delivery-settings__subscriptions{flex-direction:column;gap:8px;display:flex}.delivery-settings__subscription{cursor:pointer;background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.delivery-settings__subscription:hover{background:#f5fff5;border-color:#4caf50}.delivery-settings__subscription--active{background:#e8f5e9;border-color:#4caf50}.delivery-settings__subscription input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.delivery-settings__subscription-icon{flex-shrink:0;font-size:1.5rem}.delivery-settings__subscription-info{flex-direction:column;flex:1;display:flex}.delivery-settings__subscription-name{color:#333;font-size:.9375rem;font-weight:600}.delivery-settings__subscription-benefit{color:#666;font-size:.75rem}.delivery-settings__subscription-check{color:#0000;background:#e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;transition:all .2s;display:flex}.delivery-settings__subscription-check--visible{color:#fff;background:#4caf50}.delivery-settings__time-value{flex-direction:column;gap:8px;display:flex}.delivery-settings__time-value label{color:#444;font-size:.875rem;font-weight:500}.delivery-settings__time-input-wrapper{align-items:center;gap:8px;max-width:200px;display:flex}.delivery-settings__currency,.delivery-settings__time-unit{color:#666;font-weight:500}.delivery-settings__time-value input{text-align:center;border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:10px 12px;font-size:1rem;transition:border-color .2s}.delivery-settings__time-value input:focus{border-color:#4caf50;outline:none}.delivery-settings__hint{color:#888;margin:4px 0 0;font-size:.75rem;font-style:italic}.delivery-settings__section--advanced{background:#f9f9f9;border-bottom:none;border-radius:0 0 12px 12px;margin:0 -24px -24px;padding:16px 24px 24px}.delivery-settings__toggle-advanced{color:#555;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;font-size:.9375rem;font-weight:600;display:flex}.delivery-settings__toggle-advanced:hover{color:#333}.delivery-settings__toggle-icon{transition:transform .2s}.delivery-settings__toggle-icon--open{transform:rotate(180deg)}.delivery-settings__fee-overrides{margin-top:16px}.delivery-settings__fee-row{border-bottom:1px solid #e8e8e8;align-items:center;gap:12px;padding:12px 0;display:flex}.delivery-settings__fee-row:last-child{border-bottom:none}.delivery-settings__fee-service{color:#444;min-width:100px;font-size:.875rem;font-weight:500}.delivery-settings__fee-inputs{flex:1;gap:16px;display:flex}.delivery-settings__fee-input-group{flex-direction:column;gap:4px;display:flex}.delivery-settings__fee-input-group label{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.delivery-settings__fee-input-group input{border:1px solid #ddd;border-radius:6px;width:80px;padding:8px 10px;font-size:.875rem;transition:border-color .2s}.delivery-settings__fee-input-group input:focus{border-color:#4caf50;outline:none}.delivery-settings__fee-input-group input::placeholder{color:#bbb;font-style:italic}.delivery-settings__fee-remove{cursor:pointer;color:#999;background:#f0f0f0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;transition:all .2s;display:flex}.delivery-settings__fee-remove:hover{color:#d32f2f;background:#ffebee}.delivery-settings__actions{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.delivery-settings__btn{cursor:pointer;border-radius:8px;padding:10px 20px;font-size:.9375rem;font-weight:500;transition:all .2s}.delivery-settings__btn--primary{color:#fff;background:#4caf50;border:none}.delivery-settings__btn--primary:hover:not(:disabled){background:#45a049}.delivery-settings__btn--primary:disabled{cursor:not-allowed;background:#c8e6c9}.delivery-settings__btn--secondary{color:#666;background:#fff;border:1px solid #ddd}.delivery-settings__btn--secondary:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.delivery-settings__btn--secondary:disabled{color:#bbb;cursor:not-allowed}@media (width<=480px){.delivery-settings{border-radius:0;padding:16px}.delivery-settings__fee-inputs{flex-direction:column;gap:8px}.delivery-settings__fee-input-group input{width:100%}.delivery-settings__actions{flex-direction:column}.delivery-settings__btn{text-align:center;width:100%}}.budget-widget{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.budget-widget--loading,.budget-widget--error{padding:24px}.budget-widget__skeleton{animation:2s cubic-bezier(.4,0,.6,1) infinite budget-pulse}.budget-widget__skeleton-line{background-color:#e5e7eb;border-radius:4px}.budget-widget__skeleton-line--half{width:50%;height:16px;margin-bottom:16px}.budget-widget__skeleton-line--full{width:100%;height:32px;margin-bottom:8px}.budget-widget__skeleton-line--three-quarter{width:75%;height:12px}@keyframes budget-pulse{0%,to{opacity:1}50%{opacity:.5}}.budget-widget__error-content{color:#dc2626}.budget-widget__error-title{margin:0 0 4px;font-weight:600}.budget-widget__error-message{margin:0;font-size:14px}.budget-widget__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.budget-widget__title{color:#111827;margin:0;font-size:18px;font-weight:600}.budget-widget__refresh-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.budget-widget__refresh-btn:hover{color:#1d4ed8}.budget-widget__summary{margin-bottom:16px}.budget-widget__amounts{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.budget-widget__spent{color:#111827;font-size:24px;font-weight:700}.budget-widget__limit{color:#6b7280;font-size:14px}.budget-widget__progress-bar{background-color:#e5e7eb;border-radius:9999px;width:100%;height:16px;overflow:hidden}.budget-widget__progress-fill{height:100%;transition:all .3s}.budget-widget__progress-fill--green{background-color:#22c55e}.budget-widget__progress-fill--yellow{background-color:#eab308}.budget-widget__progress-fill--red{background-color:#ef4444}.budget-widget__details{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.budget-widget__percentage{font-size:14px;font-weight:500}.budget-widget__percentage--green{color:#15803d}.budget-widget__percentage--yellow{color:#a16207}.budget-widget__percentage--red{color:#b91c1c}.budget-widget__remaining{color:#6b7280;font-size:14px}.budget-widget__status-message{border-radius:8px;padding:12px;font-size:14px}.budget-widget__status-message--green{color:#15803d;background-color:#dcfce7}.budget-widget__status-message--yellow{color:#a16207;background-color:#fef9c3}.budget-widget__status-message--red{color:#b91c1c;background-color:#fee2e2}.budget-widget__period-toggle{gap:8px;margin-top:16px;display:flex}.budget-widget__period-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:14px;transition:all .2s}.budget-widget__period-btn--active{color:#fff;background-color:#2563eb}.budget-widget__period-btn--inactive{color:#374151;background-color:#f3f4f6}.budget-widget__period-btn--inactive:hover{background-color:#e5e7eb}.bottom-navigation{background-color:var(--crispi-bg-surface);border-top:1px solid var(--crispi-bg-surface-border);z-index:100;height:64px;padding:0 8px;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000004d}.bottom-navigation__item{cursor:pointer;min-width:44px;min-height:44px;color:var(--crispi-text-secondary);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:all .2s;display:flex;position:relative}.bottom-navigation__item:hover{background-color:var(--crispi-bg-surface-border);color:var(--crispi-accent-primary)}.bottom-navigation__item:active{background-color:var(--crispi-bg-surface-border);transform:scale(.95)}.bottom-navigation__item--active{color:var(--crispi-accent-primary)}.bottom-navigation__item--active:before{content:"";background-color:var(--crispi-accent-primary);border-radius:0 0 3px 3px;width:32px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-navigation__icon{font-size:24px;line-height:1;transition:transform .2s}.bottom-navigation__item--active .bottom-navigation__icon{transform:scale(1.1)}.bottom-navigation__label{white-space:nowrap;font-size:11px;font-weight:500;line-height:1}@media (width>=768px){.bottom-navigation{display:none}}@media (width<=375px){.bottom-navigation{height:60px;padding:0 4px}.bottom-navigation__icon{font-size:22px}.bottom-navigation__label{font-size:10px}.bottom-navigation__item{gap:2px;padding:6px 2px}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(2)}}.bottom-navigation__item:after{content:"";opacity:0;pointer-events:none;background-color:#e9456033;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bottom-navigation__item:active:after{animation:.3s ease-out ripple}.offline-indicator{z-index:1000;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;animation:.3s slideDown;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.offline-indicator__content{flex:1;align-items:center;gap:12px;display:flex}.offline-indicator__icon{font-size:20px;line-height:1}.offline-indicator__message{font-size:14px;font-weight:500;line-height:1.4}.offline-indicator__button{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.offline-indicator__button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.offline-indicator__button:active:not(:disabled){transform:translateY(0)}.offline-indicator__button:disabled{opacity:.6;cursor:not-allowed}.offline-indicator--offline{color:#fff;background-color:#ef4444}.offline-indicator--offline .offline-indicator__button{color:#fff;background-color:#fff3}.offline-indicator--offline .offline-indicator__button:hover:not(:disabled){background-color:#ffffff4d}.offline-indicator--syncing{color:#fff;background-color:#f59e0b}.offline-indicator--syncing .offline-indicator__icon{animation:1s linear infinite rotate}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.offline-indicator--pending{color:#78350f;background-color:#fbbf24}.offline-indicator--pending .offline-indicator__button{color:#fff;background-color:#78350f}.offline-indicator--pending .offline-indicator__button:hover:not(:disabled){background-color:#92400e}.offline-indicator--online{color:#fff;background-color:#10b981}.offline-indicator__pending-count{background:#fff3;border-radius:12px;margin-left:8px;padding:2px 8px;font-size:12px}.offline-indicator__syncing{margin-left:8px;font-size:12px;font-weight:500}@media (width<=768px){.offline-indicator{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.offline-indicator__content{justify-content:center}.offline-indicator__message{font-size:13px}.offline-indicator__button{width:100%;padding:10px 16px}}@media (width<=375px){.offline-indicator__message{font-size:12px}.offline-indicator__icon{font-size:18px}}.pantry-photo-upload-container{background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex-direction:column;max-width:900px;min-height:600px;margin:20px auto;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000001a}.pantry-upload-header{color:#fff;background:linear-gradient(135deg,#42a5f5 0%,#478ed1 100%);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.pantry-upload-header h2{margin:0;font-size:22px;font-weight:600}.tips-button{color:#fff;cursor:pointer;background:#fff3;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:0;font-size:18px;font-weight:700;transition:all .2s;display:flex}.tips-button:hover{background:#ffffff59;border-color:#fff;transform:scale(1.05)}.tips-button:active{transform:scale(.95)}.conversation-status{text-transform:uppercase;letter-spacing:.5px;background:#ffffff40;border-radius:16px;padding:6px 14px;font-size:13px;font-weight:500}.conversation-status.finalized{background:#4caf504d}.time-tracking{background:#f5f5f5;border-bottom:1px solid #e0e0e0;gap:20px;padding:12px 24px;font-size:13px;display:flex}.time-info{align-items:center;gap:8px;display:flex}.time-label{color:#666;font-weight:500}.time-value{color:#333;font-family:Courier New,monospace;font-weight:600}.time-info.highlight{background:#fff;border:1px solid #42a5f5;border-radius:8px;margin-left:auto;padding:4px 12px}.time-info.highlight .time-label{color:#42a5f5}.time-info.highlight .time-value{color:#1976d2}.result-summary{background:linear-gradient(#f8f9fa 0%,#fff 100%);padding:24px}.result-summary h3{color:#4caf50;text-align:center;margin:0 0 20px;font-size:20px}.result-stats{background:#fff;border-radius:12px;justify-content:center;gap:24px;margin-bottom:24px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000d}.stat-item{background:#f5f5f5;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:12px 20px;display:flex}.stat-item.warning{background:#fff3e0}.stat-value{color:#42a5f5;font-size:32px;font-weight:700}.stat-item.warning .stat-value{color:#ff9800}.stat-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.items-list{background:#fff;border-radius:12px;margin-top:20px;padding:20px;box-shadow:0 2px 8px #0000000d}.items-list h4{color:#333;margin:0 0 16px;font-size:16px}.items-list ul{margin:0;padding:0;list-style:none}.saved-item{background:#f8f9fa;border-left:3px solid #42a5f5;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.saved-item:last-child{margin-bottom:0}.item-name{color:#333;flex:1;font-weight:600}.item-quantity{color:#666;background:#fff;border-radius:6px;padding:4px 10px;font-size:14px}.item-confidence{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.item-confidence.high{color:#2e7d32;background:#c8e6c9}.item-confidence.medium{color:#f57f17;background:#fff9c4}.item-confidence.low{color:#d84315;background:#ffccbc}.reset-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#42a5f5 0%,#478ed1 100%);border:none;border-radius:8px;width:100%;margin-top:20px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .3s}.reset-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #42a5f566}.pantry-chat-messages{background:#f8f9fa;flex:1;min-height:300px;padding:20px 24px;overflow-y:auto}.pantry-message{flex-direction:column;margin-bottom:16px;animation:.3s ease-in fadeIn;display:flex}.pantry-message-user{align-items:flex-end}.pantry-message-assistant{align-items:flex-start}.pantry-message-content{word-wrap:break-word;border-radius:18px;max-width:70%;padding:14px 18px;font-size:15px;line-height:1.6}.pantry-message-user .pantry-message-content{color:#fff;background:linear-gradient(135deg,#42a5f5 0%,#478ed1 100%);border-bottom-right-radius:4px}.pantry-message-assistant .pantry-message-content{color:#333;background:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:4px}.pantry-message-timestamp{color:#999;margin-top:4px;padding:0 8px;font-size:11px}.pantry-loading{align-items:center;gap:6px;padding:18px;display:flex}.pantry-loading .dot{background:#42a5f5;border-radius:50%;width:9px;height:9px;animation:1.4s ease-in-out infinite both bounce}.pantry-loading .dot:first-child{animation-delay:-.32s}.pantry-loading .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.pantry-error{color:#c62828;background:#ffebee;border-top:1px solid #ffcdd2;align-items:center;gap:10px;padding:14px 24px;font-size:14px;font-weight:500;display:flex}.error-icon{font-size:18px}.pantry-chat-input{background:#fff;border-top:1px solid #e0e0e0;padding:16px 24px}.pantry-image-upload{align-items:center;gap:10px;margin-bottom:12px;display:flex}.upload-button{color:#1976d2;cursor:pointer;background:#e3f2fd;border:2px dashed #42a5f5;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s}.upload-button:hover{background:#bbdefb;border-color:#1976d2}.clear-image{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #ffcdd2;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:600;transition:all .2s}.clear-image:hover{background:#ffcdd2}.image-preview{border:2px solid #e0e0e0;border-radius:8px;max-width:300px;margin-bottom:12px;overflow:hidden}.image-preview img{width:100%;height:auto;display:block}.input-row{align-items:flex-end;gap:12px;display:flex}.input-row textarea{resize:none;border:2px solid #e0e0e0;border-radius:24px;flex:1;min-height:48px;max-height:120px;padding:14px 18px;font-family:inherit;font-size:15px;transition:all .2s}.input-row textarea:focus{border-color:#42a5f5;outline:none;box-shadow:0 0 0 3px #42a5f51a}.input-row textarea:disabled{cursor:not-allowed;background:#f5f5f5}.send-button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#42a5f5 0%,#478ed1 100%);border:none;border-radius:24px;padding:14px 28px;font-size:15px;font-weight:600;transition:all .2s}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #42a5f566}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.finalize-row{border-top:1px dashed #e0e0e0;margin-top:12px;padding-top:12px}.finalize-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#66bb6a 0%,#4caf50 100%);border:none;border-radius:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s}.finalize-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4caf5066}.finalize-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pantry-chat-messages::-webkit-scrollbar{width:8px}.pantry-chat-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.pantry-chat-messages::-webkit-scrollbar-thumb{background:#42a5f5;border-radius:4px}.pantry-chat-messages::-webkit-scrollbar-thumb:hover{background:#1976d2}@media (width<=768px){.pantry-photo-upload-container{max-width:100%;margin:10px}.pantry-upload-header h2{font-size:18px}.time-tracking{flex-direction:column;gap:8px}.time-info.highlight{margin-left:0}.result-stats{flex-direction:column;gap:12px}.pantry-message-content{max-width:85%;font-size:14px}.image-preview{max-width:100%}}@media (width>=1200px){.pantry-photo-upload-container{max-width:1000px;min-height:650px}.pantry-upload-header h2{font-size:24px}.pantry-message-content{font-size:16px}.result-summary h3{font-size:22px}.stat-value{font-size:36px}}@media (width>=1440px){.pantry-photo-upload-container{max-width:1100px}}@media (width>=1920px){.pantry-photo-upload-container{max-width:1200px;min-height:700px}.pantry-upload-header{padding:20px 32px}.pantry-upload-header h2{font-size:26px}.pantry-chat-messages{padding:24px 32px}.pantry-message-content{padding:16px 20px;font-size:17px}.result-stats{gap:32px;padding:24px}.stat-value{font-size:40px}}.photo-guidance-modal{z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.modal-content{background:#fff;border-radius:12px;max-width:600px;max-height:90vh;padding:24px;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 4px 24px #0003}.modal-content h2{color:#333;text-align:center;margin-bottom:20px;font-size:24px;font-weight:700}.tips-section{margin-bottom:24px}.do-header{color:#4caf50;align-items:center;gap:8px;margin-bottom:12px;font-size:18px;font-weight:600;display:flex}.dont-header{color:#f44336;align-items:center;gap:8px;margin:20px 0 12px;font-size:18px;font-weight:600;display:flex}.tips-list{margin:0 0 16px;padding:0;list-style:none}.tips-list li{color:#333;padding:8px 0;line-height:1.6}.tips-list li strong{color:#222;font-weight:600}.tips-list li small{color:#666;font-size:13px}.examples-section{background:#f5f5f5;border-radius:8px;margin:24px 0;padding:16px}.example-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.example{text-align:center}.example-placeholder{background:#e0e0e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin-bottom:8px;padding:40px 20px;display:flex}.placeholder-icon{margin-bottom:8px;font-size:48px}.example-placeholder p{color:#666;margin:0;font-size:14px}.caption{color:#666;margin:0;font-size:13px}.good-example .example-placeholder{border:2px solid #4caf50}.bad-example .example-placeholder{border:2px solid #f44336}.pro-tips-section{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin:24px 0;padding:16px}.pro-tips-section h3{color:#1976d2;margin-bottom:12px;font-size:16px;font-weight:600}.pro-tips-section .tips-list li{padding:4px 0;font-size:14px}.action-buttons{justify-content:center;margin-top:24px;display:flex}.primary-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:600;transition:background .2s}.primary-btn:hover{background:#45a049}.primary-btn:focus{outline-offset:2px;outline:2px solid #2196f3}@media (width<=768px){.photo-guidance-modal{padding:10px}.modal-content{max-height:95vh;padding:20px}.modal-content h2{font-size:20px}.example-row{grid-template-columns:1fr}.example-placeholder{min-height:120px;padding:30px 15px}.placeholder-icon{font-size:36px}}@media (width>=769px) and (width<=1024px){.modal-content{max-width:550px}}@media (width>=1025px){.modal-content{max-width:650px}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}@media (prefers-contrast:high){.modal-content{border:2px solid #000}.do-header,.dont-header{text-decoration:underline}}@media (prefers-reduced-motion:reduce){.modal-content{animation:none}.primary-btn{transition:none}}@media print{.modal-overlay{display:none}.modal-content{box-shadow:none;max-height:none;position:static}.action-buttons{display:none}}.item-bounding-box-container{border-radius:8px;margin:16px 0;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.item-bounding-box-container img{width:100%;height:auto;display:block}.item-bounding-box-container>div[role=button]:hover{z-index:20;border-width:4px;transform:scale(1.02);background-color:#4caf504d!important}.item-bounding-box-container>div[role=button]:focus{outline-offset:2px;outline:2px solid #2196f3}@keyframes pulse-yellow{0%,to{border-color:#ffc107}50%{border-color:#ffd54f}}.item-bounding-box-container>div[role=button][data-needs-confirmation=true]{animation:2s infinite pulse-yellow}@media (width<=768px){.item-bounding-box-container{margin:12px 0}.item-bounding-box-container>div[role=button]{border-width:2px}.item-bounding-box-container>div[role=button]:hover{border-width:3px}}@media (width>=769px) and (width<=1024px){.item-bounding-box-container{margin:14px 0}}@media (width>=1025px){.item-bounding-box-container{max-width:800px;margin:20px auto}}@media (prefers-contrast:high){.item-bounding-box-container>div[role=button]{border-width:4px}.item-bounding-box-container>div[role=button]:hover{border-width:5px}}@media (prefers-reduced-motion:reduce){.item-bounding-box-container>div[role=button]{transition:none;animation:none}}@media print{.item-bounding-box-container{page-break-inside:avoid}}.batch-item-confirmation{background:#f8f9fa;border-radius:12px;margin:20px 0;padding:20px;box-shadow:0 2px 12px #00000014}.batch-header{color:#333;text-align:center;margin-bottom:20px;font-size:18px;font-weight:600}.auto-confirmed-section{margin-bottom:24px}.auto-confirmed-section h4{color:#4caf50;align-items:center;gap:8px;margin-bottom:12px;font-size:16px;display:flex}.confirmed-item{background:#fff;border-left:4px solid #4caf50;border-radius:4px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.confirmed-item .checkmark{color:#4caf50;font-size:18px;font-weight:700}.confirmed-item .item-name{color:#333;flex:1;font-weight:500}.confirmed-item .confidence{color:#666;font-size:12px}.needs-confirmation-section{margin-bottom:24px}.needs-confirmation-section h4{color:#ff9800;align-items:center;gap:8px;margin-bottom:12px;font-size:16px;display:flex}.unconfirmed-item{background:#fff;border-left:4px solid #ffc107;border-radius:4px;margin-bottom:12px;padding:12px}.item-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.item-header .question-mark{color:#ff9800;font-size:18px;font-weight:700}.item-header .item-name{color:#333;flex:1;font-weight:500}.item-header .confidence{color:#666;font-size:12px}.quick-suggestions{flex-wrap:wrap;gap:8px;display:flex}.suggestion-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:16px;padding:6px 12px;font-size:14px;transition:all .2s}.suggestion-btn:hover{background:#f0f0f0;border-color:#4caf50}.suggestion-btn.selected{color:#fff;background:#4caf50;border-color:#4caf50}.edit-btn{color:#2196f3;cursor:pointer;background:#fff;border:1px solid #2196f3;border-radius:16px;padding:6px 12px;font-size:14px;transition:all .2s}.edit-btn:hover{color:#fff;background:#2196f3}.action-buttons{gap:12px;margin-top:20px;display:flex}.confirm-all-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;flex:1;padding:12px 24px;font-size:16px;font-weight:600;transition:background .2s}.confirm-all-btn:hover:not(:disabled){background:#45a049}.confirm-all-btn:disabled{cursor:not-allowed;background:#ccc}.skip-btn{color:#666;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px 24px;font-size:16px;transition:all .2s}.skip-btn:hover{background:#f5f5f5;border-color:#999}@media (width<=768px){.batch-item-confirmation{padding:16px}.batch-header{font-size:16px}.quick-suggestions{flex-wrap:wrap}.action-buttons{flex-direction:column}.confirm-all-btn,.skip-btn{width:100%}}@media (width>=769px) and (width<=1024px){.batch-item-confirmation{padding:18px}}.suggestion-btn:focus,.edit-btn:focus,.confirm-all-btn:focus,.skip-btn:focus{outline-offset:2px;outline:2px solid #2196f3}@media (prefers-contrast:high){.confirmed-item,.unconfirmed-item{border-left-width:6px}.suggestion-btn,.edit-btn{border-width:2px}}@media (prefers-reduced-motion:reduce){.suggestion-btn,.edit-btn,.confirm-all-btn,.skip-btn{transition:none}}@media print{.batch-item-confirmation{page-break-inside:avoid}.action-buttons{display:none}}.WhoIsEatingSelector{flex-direction:column;gap:8px;display:flex}.WhoIsEatingSelector--row .WhoIsEatingSelector__chips{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.WhoIsEatingSelector--wrap .WhoIsEatingSelector__chips{flex-wrap:wrap;gap:8px;display:flex}.WhoIsEatingSelector__chip{border:2px solid var(--crispi-bg-surface-border,#253350);background:var(--crispi-bg-surface,#16213e);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:14px;line-height:1.2;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.WhoIsEatingSelector__chip:focus-visible{outline:2px solid var(--crispi-accent-success,#34e89e);outline-offset:2px}.WhoIsEatingSelector__chip--active{background:var(--crispi-bg-surface-border,#253350);border-color:var(--crispi-text-secondary,#a8b2c1);color:var(--crispi-text-primary,#fff)}.WhoIsEatingSelector__chip--inactive{background:var(--crispi-bg-surface,#16213e);border-color:var(--crispi-bg-surface-border,#253350);color:var(--crispi-text-secondary,#a8b2c1)}.WhoIsEatingSelector__chip--visiting.WhoIsEatingSelector__chip--inactive{border-style:dashed;border-color:var(--crispi-text-secondary,#a8b2c1);color:var(--crispi-text-secondary,#a8b2c1)}.WhoIsEatingSelector__chip--stale{opacity:.6}@keyframes WhoIsEatingSelector-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.WhoIsEatingSelector__chip--shaking{animation:.2s ease-in-out WhoIsEatingSelector-shake}@keyframes WhoIsEatingSelector-pulse{0%,to{border-color:var(--crispi-bg-surface-border,#253350)}50%{border-color:var(--crispi-accent-danger,#e94560)}}.WhoIsEatingSelector__chip--pulse{animation:.2s ease-in-out WhoIsEatingSelector-pulse}.WhoIsEatingSelector__avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.WhoIsEatingSelector__initial{background:var(--crispi-bg-surface-border,#253350);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:inline-flex}.WhoIsEatingSelector__chip--active .WhoIsEatingSelector__initial{background:var(--crispi-bg-surface,#16213e);color:var(--crispi-text-primary,#fff)}.WhoIsEatingSelector__name{font-weight:500}.WhoIsEatingSelector__counter{color:var(--crispi-text-primary,#fff);padding:2px 0;font-size:14px;font-weight:600}.WhoIsEatingSelector__stale-microcopy{color:var(--crispi-text-muted,#4a5568);font-size:12px;font-style:italic}@media (prefers-reduced-motion:reduce){.WhoIsEatingSelector__chip--shaking,.WhoIsEatingSelector__chip--pulse{animation:none}.WhoIsEatingSelector__chip{transition:none}}.SafeCatalogCounter{color:var(--accent-green,#34e89e);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;font-weight:600;display:inline-flex}.SafeCatalogCounter--inline{background:var(--verified-safe-bg,#34e89e1f);letter-spacing:.5px;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1;display:inline-flex}.SafeCatalogCounter--standalone{background:var(--verified-safe-bg,#34e89e1f);letter-spacing:.25px;border-radius:8px;padding:8px 12px;font-size:14px;line-height:1.4;display:flex}.SafeCatalogCounter__icon{flex-shrink:0;display:inline-block}.SafeCatalogCounter__text{letter-spacing:inherit}.SafeCatalogCounter__count{font-weight:600}.SafeCatalogCounter--standalone .SafeCatalogCounter__count{font-size:1.15em;font-weight:700}@keyframes safeCatalogCounterFade{0%{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.SafeCatalogCounter__count--updating{animation:.2s ease-out forwards safeCatalogCounterFade}.SafeCatalogCounter--loading{pointer-events:none}.SafeCatalogCounter__skeleton{background:linear-gradient(90deg,#34e89e14 0%,#34e89e2e 50%,#34e89e14 100%) 0 0/200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite safeCatalogCounterShimmer;display:inline-block}.SafeCatalogCounter__skeleton--icon{border-radius:50%;flex-shrink:0;width:16px;height:16px}.SafeCatalogCounter--standalone .SafeCatalogCounter__skeleton--icon{width:20px;height:20px}.SafeCatalogCounter__skeleton--text{width:140px;height:1em}.SafeCatalogCounter--standalone .SafeCatalogCounter__skeleton--text{width:200px;height:1.2em}@keyframes safeCatalogCounterShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.SafeCatalogCounter__count--updating{opacity:1;transform:none;animation:none!important}.SafeCatalogCounter__skeleton{background-position:0 0;animation:none!important}.SafeCatalogCounter,.SafeCatalogCounter *{transition:none!important}}.MealsPage{padding:1rem}.MealsPage__tabs{border-bottom:2px solid var(--crispi-bg-surface-border,#253350);gap:0;margin-bottom:1rem;display:flex}.MealsPage__tab{color:var(--crispi-text-secondary,#a8b2c1);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:.75rem 1rem;font-size:14px;font-weight:500;transition:color .2s,border-color .2s}.MealsPage__tab:hover{color:var(--crispi-text-primary,#fff)}.MealsPage__tab--active{color:var(--crispi-accent-primary,#e94560);border-bottom-color:var(--crispi-accent-primary,#e94560);font-weight:600}.MealsPage__content{flex-direction:column;gap:1rem;display:flex}.MealsPage__recipes{flex-direction:column;gap:.75rem;display:flex}.MealCard{background:var(--crispi-bg-surface,#16213e);box-shadow:var(--crispi-shadow-card,0 2px 8px #0000004d);border-radius:12px;transition:opacity .2s,transform .2s;overflow:hidden}.MealCard--crossfading{opacity:.6;transform:scale(.98)}.MealCard__image{object-fit:cover;width:100%;height:160px}.MealCard__body{padding:.75rem 1rem}.MealCard__title{color:var(--crispi-text-primary,#fff);margin:0 0 .5rem;font-size:16px;font-weight:600}.MealCard__badges{align-items:center;gap:.5rem;display:flex}.MealCard__tags{color:var(--crispi-text-secondary,#a8b2c1);font-size:11px}.MealsPage__empty{text-align:center;color:var(--crispi-text-secondary,#a8b2c1);padding:3rem 1rem}@media (prefers-reduced-motion:reduce){.MealCard{transition:none!important}.MealCard--crossfading{opacity:1;transform:none}.MealsPage__tab{transition:none!important}}.pantry-page{background-color:var(--crispi-bg-primary);min-height:100vh;color:var(--crispi-text-primary);padding-bottom:140px}.pantry-page--loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.pantry-header{background-color:var(--crispi-bg-primary);border-bottom:1px solid var(--crispi-bg-surface-border);z-index:100;padding:1rem;position:sticky;top:0}.pantry-header__top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.pantry-header__back{color:var(--crispi-text-primary);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem}.pantry-header__title{font:var(--crispi-font-headline);margin:0}.pantry-header__count{font:var(--crispi-font-label);color:var(--crispi-text-secondary)}.security-strip{background:var(--crispi-gradient-security);border-radius:var(--crispi-radius-md);justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem 1rem;display:flex}.security-strip__score{align-items:center;gap:.5rem;display:flex}.security-strip__icon{font-size:1.25rem}.security-strip__value{font:var(--crispi-font-badge);color:var(--crispi-accent-success)}.security-strip__pills{gap:.5rem;display:flex}.security-strip__pill{font:var(--crispi-font-label);border-radius:var(--crispi-radius-sm);background-color:var(--crispi-bg-surface-border);color:var(--crispi-text-secondary);padding:.25rem .75rem}.security-strip__pill--fresh{background-color:var(--crispi-accent-success-bg);color:var(--crispi-accent-success)}.security-strip__pill--aging{color:var(--crispi-accent-secondary);background-color:#f5a62333}.security-strip__pill--stale{color:var(--crispi-accent-primary);background-color:#e9456033}.pantry-scan-section{background-color:var(--crispi-bg-primary);padding:1rem}.pantry-scan-section__camera-btn{background:var(--crispi-gradient-cta);border-radius:var(--crispi-radius-lg);color:#fff;width:100%;font:var(--crispi-font-meal-title);cursor:pointer;border:none;padding:1rem;font-size:1rem;transition:transform .2s}.pantry-scan-section__camera-btn:active{transform:scale(.98)}.pantry-scan-section__manual-link{width:100%;color:var(--crispi-text-secondary);font:var(--crispi-font-body);text-align:center;cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:.5rem;display:block}.pantry-search-section{gap:.5rem;margin-top:1rem;display:flex}.pantry-search-section__input{background-color:var(--crispi-bg-surface);border:1px solid var(--crispi-bg-surface-border);border-radius:var(--crispi-radius-md);color:var(--crispi-text-primary);font:var(--crispi-font-body);flex:1;padding:.75rem 1rem}.pantry-search-section__input::placeholder{color:var(--crispi-text-muted)}.pantry-search-section__filter{background-color:var(--crispi-bg-surface);border:1px solid var(--crispi-bg-surface-border);border-radius:var(--crispi-radius-md);color:var(--crispi-text-primary);font:var(--crispi-font-body);cursor:pointer;padding:.75rem 1rem}.pantry-categories{padding:.5rem 1rem}.category-section{background-color:var(--crispi-bg-surface);border:1px solid var(--crispi-bg-surface-border);border-radius:var(--crispi-radius-md);margin-bottom:.75rem;overflow:hidden}.category-section__header{background-color:var(--crispi-bg-surface);cursor:pointer;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:background-color .2s;display:flex}.category-section__header:hover{background-color:var(--crispi-bg-surface-border)}.category-section__icon{font-size:1.25rem}.category-section__name{font:var(--crispi-font-label);color:var(--crispi-text-primary);text-align:left;flex:1}.category-section__count{font:var(--crispi-font-label);color:var(--crispi-text-secondary)}.category-section__toggle{color:var(--crispi-text-muted);font-size:.75rem}.category-section__items{border-top:1px solid var(--crispi-bg-surface-border)}.pantry-item{border-bottom:1px solid var(--crispi-bg-surface-border);cursor:pointer;padding:.75rem 1rem;transition:background-color .2s;position:relative;overflow:hidden}.pantry-item:last-child{border-bottom:none}.pantry-item:hover{background-color:#ffffff0d}.pantry-item--expanded{background-color:#ffffff14}.pantry-item__row{align-items:center;gap:.75rem;display:flex}.pantry-item__name{font:var(--crispi-font-meal-title);flex:1}.pantry-item__quantity{font:var(--crispi-font-body);color:var(--crispi-text-secondary)}.pantry-item__expiration{font:var(--crispi-font-badge);border-radius:var(--crispi-radius-sm);padding:.25rem .5rem;font-size:.7rem}.expiration-urgent{color:var(--crispi-accent-primary);background-color:#e9456033}.expiration-warning{color:var(--crispi-accent-secondary);background-color:#f5a62333}.expiration-ok{background-color:var(--crispi-accent-success-bg);color:var(--crispi-accent-success)}.pantry-item__detail{padding-top:.75rem;animation:.2s ease-out slideDown}.pantry-item__depletion{background-color:var(--crispi-bg-surface-border);border-radius:2px;width:100%;height:4px;margin-bottom:.75rem;overflow:hidden}.pantry-item__depletion-bar{background:var(--crispi-gradient-cta);height:100%;transition:width .3s}.pantry-item__metadata{font:var(--crispi-font-body);color:var(--crispi-text-secondary);grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem;display:grid}.pantry-item__used-in{font:var(--crispi-font-body);color:var(--crispi-text-secondary);background-color:var(--crispi-bg-surface-border);border-radius:var(--crispi-radius-sm);margin-bottom:.75rem;padding:.5rem}.pantry-item__used-in--empty{font-style:italic}.pantry-item__actions{gap:.5rem;margin-bottom:.75rem;display:flex}.pantry-item__action{border-radius:var(--crispi-radius-sm);font:var(--crispi-font-label);cursor:pointer;border:none;flex:1;padding:.5rem;transition:transform .1s}.pantry-item__action:active{transform:scale(.95)}.pantry-item__action--recipes{color:var(--crispi-accent-success);background-color:#34e89e33}.pantry-item__action--edit{background-color:var(--crispi-bg-surface-border);color:var(--crispi-text-secondary)}.pantry-item__action--delete{color:var(--crispi-accent-primary);background-color:#e9456033;flex:0 0 44px}.pantry-item__nudge{font:var(--crispi-font-body);color:var(--crispi-text-secondary);border-left:3px solid var(--crispi-accent-success);border-radius:var(--crispi-radius-sm);background-color:#34e89e1a;padding:.75rem;font-style:italic}.pantry-empty-state{text-align:center;background-color:var(--crispi-bg-surface);border:1px solid var(--crispi-bg-surface-border);border-radius:var(--crispi-radius-lg);margin-top:1rem;padding:3rem 1.5rem}.pantry-empty-state__icon{margin-bottom:1rem;font-size:4rem}.pantry-empty-state__title{font:var(--crispi-font-headline);margin-bottom:.75rem}.pantry-empty-state__description{font:var(--crispi-font-body);color:var(--crispi-text-secondary);margin-bottom:1.5rem;line-height:1.6}.pantry-empty-state__camera-btn{background:var(--crispi-gradient-cta);border-radius:var(--crispi-radius-lg);color:#fff;width:100%;max-width:300px;font:var(--crispi-font-meal-title);cursor:pointer;border:none;margin-bottom:.75rem;padding:1rem}.pantry-empty-state__expectations{font:var(--crispi-font-body);color:var(--crispi-text-muted);margin-bottom:1rem}.pantry-empty-state__manual-link{color:var(--crispi-text-secondary);font:var(--crispi-font-body);cursor:pointer;background:0 0;border:none;text-decoration:underline}.pantry-footer{background-color:var(--crispi-bg-primary);border-top:1px solid var(--crispi-bg-surface-border);z-index:90;padding:.75rem 1rem;position:fixed;bottom:56px;left:0;right:0}.pantry-footer__actions{gap:.75rem;max-width:600px;margin:0 auto;display:flex}.pantry-footer__action{border-radius:var(--crispi-radius-md);font:var(--crispi-font-meal-title);cursor:pointer;border:none;flex:1;padding:.875rem;transition:transform .1s}.pantry-footer__action:active{transform:scale(.98)}.pantry-footer__action--discovery{background:var(--crispi-gradient-cta);color:#fff}.pantry-footer__action--emergency{color:var(--crispi-accent-primary);border:1px solid var(--crispi-accent-primary);background-color:#e9456033}.bottom-nav-placeholder{background-color:var(--crispi-bg-surface);border-top:1px solid var(--crispi-bg-surface-border);z-index:100;justify-content:space-around;padding:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-placeholder span{font:var(--crispi-font-label);color:var(--crispi-text-muted);text-align:center}.pantry-photo-upload-modal{z-index:200;background-color:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@media (width>=768px){.pantry-header__title{font-size:1.5rem}.pantry-footer__actions{max-width:800px}}.RLConsentCard{background:var(--crispi-bg-surface,#16213e);border:1px solid var(--crispi-bg-surface-border,#253350);border-radius:var(--crispi-radius-sm,8px);padding:1.25rem;position:relative}.RLConsentCard--loading{justify-content:center;align-items:center;min-height:80px;display:flex}.RLConsentCard__loading-indicator{border:2px solid var(--crispi-bg-surface-border,#253350);border-top-color:var(--crispi-accent-primary,#4ecdc4);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite RLConsentCard-spin}@keyframes RLConsentCard-spin{to{transform:rotate(360deg)}}.RLConsentCard__header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.RLConsentCard__icon{flex-shrink:0;font-size:1.5rem}.RLConsentCard__title-group{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.RLConsentCard__title{color:var(--crispi-text-primary,#fff);font-size:15px;font-weight:600}.RLConsentCard__unavailable{background:var(--crispi-bg-surface-border,#253350);color:var(--crispi-text-muted,#4a5568);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px}.RLConsentCard__toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.RLConsentCard__toggle input{opacity:0;width:0;height:0}.RLConsentCard__toggle-slider{cursor:pointer;background:var(--crispi-bg-surface-border,#253350);border-radius:24px;transition:background-color .2s;position:absolute;inset:0}.RLConsentCard__toggle-slider:before{content:"";background:var(--crispi-text-primary,#fff);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.RLConsentCard__toggle input:checked+.RLConsentCard__toggle-slider{background:var(--crispi-accent-success,#34e89e)}.RLConsentCard__toggle input:checked+.RLConsentCard__toggle-slider:before{transform:translate(20px)}.RLConsentCard__toggle input:disabled+.RLConsentCard__toggle-slider{opacity:.5;cursor:not-allowed}.RLConsentCard__toggle input:focus-visible+.RLConsentCard__toggle-slider{outline:2px solid var(--crispi-accent-success,#34e89e);outline-offset:2px}.RLConsentCard__description{color:var(--crispi-text-secondary,#a8b2c1);margin:0 0 8px;font-size:14px;line-height:1.5}.RLConsentCard__privacy{color:var(--crispi-text-muted,#4a5568);margin:0 0 12px;font-size:13px;line-height:1.4}.RLConsentCard__expand-trigger{color:var(--crispi-accent-primary,#4ecdc4);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.RLConsentCard__expand-trigger:hover{text-decoration:underline}.RLConsentCard__expand-trigger:focus-visible{outline:2px solid var(--crispi-accent-success,#34e89e);outline-offset:2px;border-radius:2px}.RLConsentCard__expanded{border-top:1px solid var(--crispi-bg-surface-border,#253350);margin-top:12px;padding-top:12px}.RLConsentCard__bullets{margin:0 0 12px;padding:0;list-style:none}.RLConsentCard__bullets li{color:var(--crispi-text-secondary,#a8b2c1);padding:4px 0 4px 16px;font-size:13px;line-height:1.5;position:relative}.RLConsentCard__bullets li:before{content:"•";color:var(--crispi-accent-primary,#4ecdc4);position:absolute;left:0}.RLConsentCard__delete-link{color:var(--crispi-accent-danger,#e94560);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.RLConsentCard__delete-link:hover{opacity:.8}.RLConsentCard__toast{background:var(--crispi-accent-success,#34e89e);color:var(--crispi-bg-primary,#0a1628);white-space:nowrap;z-index:10;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;animation:.2s ease-out RLConsentCard-toast-in;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)translateY(100%)}@keyframes RLConsentCard-toast-in{0%{opacity:0;transform:translate(-50%)translateY(100%)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(100%)scale(1)}}.RLConsentCard__error{border:1px solid var(--crispi-accent-danger,#e94560);color:var(--crispi-accent-danger,#e94560);background:#e945601a;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px}.security-score-strip{background:var(--crispi-gradient-security,linear-gradient(90deg, #0f3443, #34e89e1f));border-radius:var(--crispi-radius-md,12px);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.security-score-strip__left{align-items:center;gap:10px;display:flex}.security-score-strip__icon{font-size:20px}.security-score-strip__info{flex-direction:column;gap:4px;display:flex}.security-score-strip__value{font-size:15px;font-weight:700}.security-score-strip__value--high{color:var(--crispi-accent-success,#34e89e)}.security-score-strip__value--medium{color:var(--crispi-accent-secondary,#f5a623)}.security-score-strip__value--low{color:var(--crispi-accent-primary,#e94560)}.security-score-strip__label{color:var(--crispi-text-secondary,#a8b2c1);font-size:13px}.security-score-strip__bar-container{background-color:var(--crispi-bg-surface-border,#253350);border-radius:2px;width:100%;height:3px;margin-top:4px}.security-score-strip__bar{border-radius:2px;height:100%;transition:width .3s}.security-score-strip__bar--high{background-color:var(--crispi-accent-success,#34e89e)}.security-score-strip__bar--medium{background-color:var(--crispi-accent-secondary,#f5a623)}.security-score-strip__bar--low{background-color:var(--crispi-accent-primary,#e94560)}.security-score-strip--loading{animation:1.5s infinite security-score-strip-shimmer}@keyframes security-score-strip-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.badge-label{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--crispi-radius-sm,6px);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-label--green{background-color:var(--crispi-accent-success-bg,#34e89e1f);color:var(--crispi-accent-success,#34e89e)}.badge-label--amber{color:var(--crispi-accent-secondary,#f5a623);background-color:#f5a62333}.badge-label--grey{background-color:var(--crispi-bg-surface-border,#253350);color:var(--crispi-text-secondary,#a8b2c1)}.confidence-dots{align-items:center;gap:4px;display:flex}.confidence-dots__dot{background-color:var(--crispi-bg-surface-border);border-radius:50%;width:8px;height:8px;transition:background-color .2s}.confidence-dots__dot--filled,.confidence-dots--high .confidence-dots__dot--filled,.confidence-dots--medium .confidence-dots__dot--filled,.confidence-dots--low .confidence-dots__dot--filled{background-color:var(--crispi-accent-success)}.meal-card{cursor:pointer;border-radius:16px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.meal-card:active{transform:scale(.98)}.meal-card:focus-visible{outline:2px solid var(--crispi-accent-primary,#e94560);outline-offset:2px}.meal-card--hero{flex-direction:column;justify-content:flex-end;width:100%;height:200px;display:flex}.meal-card__hero-image{background:var(--crispi-gradient-hero,linear-gradient(135deg, #e94560, #f5a623, #fdcb6e));justify-content:center;align-items:center;font-size:64px;display:flex;position:absolute;inset:0}.meal-card__hero-overlay{background:linear-gradient(#0000 40%,#000000d9);position:absolute;inset:0}.meal-card__hero-content{z-index:1;flex-direction:column;gap:4px;padding:16px;display:flex;position:relative}.meal-card__hero-content .meal-card__title{font-size:22px;font-weight:800}.meal-card__hero-content .meal-card__meta{color:var(--crispi-text-secondary,#a8b2c1);font-size:13px}.meal-card__hero-content .meal-card__confidence{margin-top:4px}.meal-card--standard{background:var(--crispi-bg-surface,#16213e);border:1px solid var(--crispi-bg-surface-border,#253350);align-items:center;gap:12px;width:100%;height:80px;padding:12px;display:flex}.meal-card__standard-thumb{background:var(--crispi-gradient-hero,linear-gradient(135deg, #e94560, #f5a623, #fdcb6e));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.meal-card__standard-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.meal-card__standard-content .meal-card__title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.meal-card__standard-content .meal-card__meta{color:var(--crispi-text-secondary,#a8b2c1);align-items:center;gap:6px;font-size:12px;display:flex}.meal-card__standard-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.meal-card__standard-arrow{color:var(--crispi-text-muted,#4a5568);font-size:18px}.meal-card--single{background:var(--crispi-bg-surface,#16213e);border:1px solid var(--crispi-bg-surface-border,#253350);flex-direction:column;width:100%;display:flex}.meal-card__single-image{background:var(--crispi-gradient-hero,linear-gradient(135deg, #e94560, #f5a623, #fdcb6e));justify-content:center;align-items:center;width:100%;height:240px;font-size:80px;display:flex}.meal-card__single-content{flex-direction:column;gap:8px;padding:20px;display:flex}.meal-card__single-content .meal-card__title{font-size:22px;font-weight:800}.meal-card__single-content .meal-card__meta{color:var(--crispi-text-secondary,#a8b2c1);font-size:14px}.meal-card__badge{z-index:2;position:absolute;top:12px;left:12px}.meal-card__title{color:var(--crispi-text-primary,#fff);margin:0}.meal-card__meta{color:var(--crispi-text-secondary,#a8b2c1)}.meal-card__confidence{align-items:center;gap:6px;display:flex}.spontaneous-discover{padding:0 0 1rem}.spontaneous-discover__hero{margin-bottom:1rem}.spontaneous-discover__hero-cta{text-align:center;margin-top:.75rem}.spontaneous-discover__primary-btn{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600}.spontaneous-discover__actions{justify-content:center;gap:1.5rem;padding:1rem;display:flex}.spontaneous-discover__action{color:var(--crispi-text-primary,#fff);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.375rem;display:flex}.spontaneous-discover__action-icon{font-size:1.75rem}.spontaneous-discover__action-label{font-size:.8125rem}.spontaneous-discover__rail{margin-top:1rem}.spontaneous-discover__rail-title{margin:0;padding:0 1rem .5rem;font-size:1rem;font-weight:700}.spontaneous-discover__rail-scroll{gap:.75rem;padding:0 1rem;display:flex;overflow-x:auto}.spontaneous-discover__gap-card{background:var(--crispi-bg-surface,#ffffff0d);border-radius:var(--crispi-radius-md,8px);border:1px solid var(--crispi-bg-surface-border,#ffffff1a);margin:1rem;padding:1rem}.spontaneous-discover__gap-title{margin:0 0 .375rem;font-size:.9375rem;font-weight:700}.spontaneous-discover__gap-copy{color:var(--crispi-text-secondary,#ffffffb3);margin:0 0 .5rem;font-size:.8125rem}.spontaneous-discover__gap-items{flex-wrap:wrap;gap:.5rem;display:flex}.spontaneous-discover__gap-item{background:var(--crispi-bg-surface,#ffffff14);border-radius:var(--crispi-radius-sm,4px);padding:.25rem .5rem;font-size:.75rem}.spontaneous-discover--loading{opacity:.85}.spontaneous-discover--empty{flex-direction:column;align-items:center;padding:2rem 1rem;display:flex}.spontaneous-discover__empty-card{text-align:center;max-width:320px}.spontaneous-discover__empty-icon{margin-bottom:.75rem;font-size:3rem;display:block}.spontaneous-discover__empty-title{color:var(--crispi-text-primary,#fff);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.spontaneous-discover__empty-copy{color:var(--crispi-text-secondary,#ffffffb3);margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.spontaneous-discover__empty-actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.spontaneous-discover__ghost-btn{color:var(--crispi-text-secondary,#ffffffb3);border:1px solid var(--crispi-bg-surface-border,#ffffff26);border-radius:var(--crispi-radius-sm,4px);cursor:pointer;background:0 0;padding:.625rem 1.5rem;font-size:.875rem}.spontaneous-discover--conflict{padding:0 0 1rem}.spontaneous-discover__conflict-banner{margin-bottom:.5rem;padding:.5rem 1rem}.spontaneous-discover__conflict-label{color:var(--crispi-accent-warning,#ffa726);font-size:.8125rem;font-weight:600}.spontaneous-discover__conflict-details{margin-top:.5rem;padding:0 1rem}.spontaneous-discover__conflict-covered,.spontaneous-discover__conflict-missing{margin:0 0 .25rem;font-size:.8125rem;line-height:1.4}.spontaneous-discover__conflict-covered{color:var(--crispi-accent-success,#4caf50)}.spontaneous-discover__conflict-missing{color:var(--crispi-accent-warning,#ffa726)}.planner-discover{padding:0 0 1rem}.planner-discover__profiles{padding:.75rem 1rem}.planner-discover__profiles-title{margin:0 0 .5rem;font-size:.9375rem;font-weight:700}.planner-discover__profile-chips{gap:.5rem;display:flex;overflow-x:auto}.planner-discover__chip{border-radius:var(--crispi-radius-full,999px);border:1px solid var(--crispi-bg-surface-border,#fff3);color:var(--crispi-text-secondary,#ffffffb3);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;display:flex}.planner-discover__chip--active{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-color:var(--crispi-accent-primary,#4caf50)}.planner-discover__chip-badge{font-size:.6875rem}.planner-discover__week-strip{padding:.75rem 1rem}.planner-discover__week-title{margin:0 0 .5rem;font-size:.875rem;font-weight:700}.planner-discover__day-tiles{gap:.375rem;display:flex}.planner-discover__day-tile{background:var(--crispi-bg-surface,#ffffff0d);border:1px solid var(--crispi-bg-surface-border,#ffffff1a);border-radius:var(--crispi-radius-sm,4px);color:var(--crispi-text-primary,#fff);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:.25rem;padding:.5rem .25rem;display:flex}.planner-discover__day-tile--empty{opacity:.6;border-style:dashed}.planner-discover__day-weekday{text-transform:uppercase;opacity:.7;font-size:.625rem}.planner-discover__day-date{font-size:.75rem;font-weight:600}.planner-discover__day-check{color:var(--crispi-accent-success,#4caf50);font-size:.75rem}.planner-discover__day-empty{color:var(--crispi-text-secondary,#ffffff80);font-size:.875rem}.planner-discover__overview{margin-top:.5rem}.planner-discover__overview-title{margin:0;padding:0 1rem .5rem;font-size:.9375rem;font-weight:700}.planner-discover__overview-scroll{gap:.75rem;padding:0 1rem;display:flex;overflow-x:auto}.planner-discover__confirm{padding:1rem}.planner-discover__confirm-btn{background:var(--crispi-accent-primary,#4caf50);color:#fff;border-radius:var(--crispi-radius-sm,4px);cursor:pointer;border:none;width:100%;padding:.875rem;font-size:1rem;font-weight:600}.planner-discover--loading{opacity:.85}.planner-discover--empty{flex-direction:column;align-items:center;padding:3rem 1rem;display:flex}.planner-discover__empty-card{text-align:center;max-width:320px}.planner-discover__empty-icon{margin-bottom:.75rem;font-size:3rem;display:block}.planner-discover__empty-title{color:var(--crispi-text-primary,#fff);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.planner-discover__empty-copy{color:var(--crispi-text-secondary,#ffffffb3);margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.planner-discover--conflict{padding:0 0 1rem}.planner-discover__conflict-banner{margin-bottom:.25rem;padding:.5rem 1rem}.planner-discover__conflict-label{color:var(--crispi-accent-warning,#ffa726);font-size:.8125rem;font-weight:600}.planner-discover__conflict-details{padding:0 1rem}.planner-discover__conflict-covered,.planner-discover__conflict-missing{margin:.375rem 0 0;font-size:.8125rem;line-height:1.4}.planner-discover__conflict-covered{color:var(--crispi-accent-success,#4caf50)}.planner-discover__conflict-missing{color:var(--crispi-accent-warning,#ffa726)}.discover-page{background-color:var(--crispi-bg-primary,#1a1a2e);min-height:100vh;color:var(--crispi-text-primary,#fff);padding-bottom:80px}.discover-page__header{background-color:var(--crispi-bg-surface,#16213e);border-bottom:1px solid var(--crispi-bg-surface-border,#253350);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.discover-page__title{color:var(--crispi-text-primary,#fff);margin:0;font-size:18px;font-weight:800}.discover-page__actions{cursor:pointer;gap:16px;font-size:20px;display:flex}.discover-page__security{margin-top:12px;padding:0 16px}.discover-page__content{padding:16px}.discover-page__variant{justify-content:center;align-items:center;min-height:200px;display:flex}.discover-page__placeholder{text-align:center;color:var(--crispi-text-secondary,#a8b2c1);border:1px dashed var(--crispi-bg-surface-border,#253350);border-radius:12px;margin:16px;padding:32px;font-size:14px}.discover-page__placeholder-icon{margin-bottom:8px;font-size:32px}.discover-page__cta-row{gap:12px;padding:16px;display:flex}.discover-page__cta-btn{background:var(--crispi-gradient-cta,linear-gradient(90deg, #e94560, #f5a623));color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;font-weight:700;transition:transform .2s}.discover-page__cta-btn:active{transform:scale(.98)}.discover-page__cta-btn--secondary{border:1px solid var(--crispi-bg-surface-border,#253350);color:var(--crispi-text-secondary,#a8b2c1);background:0 0}
