@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800&family=DM+Sans:wght@300;400;500;600;700&display=swap";.header{height:var(--header-height);background:var(--color-neutral-0);border-bottom:1px solid var(--color-neutral-200);z-index:var(--z-fixed);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;gap:var(--spacing-8);height:100%;padding:0 var(--spacing-8);display:flex}.logo{align-items:center;gap:var(--spacing-3);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);transition:transform var(--transition-fast);text-decoration:none;display:flex}.logo-image{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);width:auto;height:48px;transition:transform var(--transition-base)}.logo-icon{font-size:var(--font-size-3xl);filter:drop-shadow(0 2px 4px #0000001a);animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.logo-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;font-family:var(--font-family-heading);letter-spacing:-.02em;white-space:nowrap;-webkit-background-clip:text;background-clip:text}.header-nav{align-items:center;gap:var(--spacing-2);flex:1;justify-content:center;display:flex}.nav-link{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-600);transition:all var(--transition-fast);border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:var(--color-primary-700)}.nav-link.active{color:var(--color-primary-700);font-weight:var(--font-weight-semibold);border-bottom-color:var(--color-primary-700)}.header-actions{align-items:center;gap:var(--spacing-4);display:flex}.header-menu-toggle{border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:none}.header-menu-toggle:hover,.header-menu-toggle.active{background:var(--color-neutral-100);color:var(--color-neutral-900)}.login-button{padding:var(--spacing-3) var(--spacing-5);color:var(--color-primary-700);border:2px solid var(--color-primary-700);border-radius:var(--radius-base);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;text-decoration:none}.login-button:hover{background:var(--color-primary-700);color:var(--color-neutral-0)}.login-button:active{transform:scale(.98)}.user-menu{position:relative}.user-button{align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4) var(--spacing-2) var(--spacing-2);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-base);display:flex}.user-button:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-50)}.user-button.active{border-color:var(--color-primary-400);background:var(--color-primary-50);box-shadow:0 0 0 3px #c07a3d1a}.user-avatar{background:var(--gradient-primary);width:36px;height:36px;color:var(--color-neutral-0);border-radius:var(--radius-full);font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:-.02em;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-neutral-700);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.user-chevron{color:var(--color-neutral-400);transition:transform var(--transition-fast);flex-shrink:0}.user-chevron.rotated{transform:rotate(180deg)}.user-dropdown{top:calc(100% + var(--spacing-3));background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);opacity:0;visibility:hidden;transform-origin:100% 0;min-width:280px;z-index:var(--z-dropdown);transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1),visibility .2s;position:absolute;right:0;overflow:hidden;transform:translateY(-8px)scale(.98);box-shadow:0 4px 6px -1px #2e1f1b14,0 10px 20px -5px #2e1f1b1f,0 25px 50px -12px #2e1f1b26}.user-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.dropdown-header{align-items:center;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-5) var(--spacing-4);background:linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-0) 100%);display:flex}.dropdown-avatar{background:var(--gradient-primary);width:52px;height:52px;color:var(--color-neutral-0);border-radius:var(--radius-full);font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);letter-spacing:-.02em;box-shadow:var(--shadow-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dropdown-user-info{gap:var(--spacing-1);flex-direction:column;flex:1;min-width:0;display:flex}.dropdown-user-name{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dropdown-user-email{font-size:var(--font-size-xs);color:var(--color-neutral-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dropdown-divider{background:linear-gradient(90deg, transparent 0%, var(--color-neutral-200) 20%, var(--color-neutral-200) 80%, transparent 100%);height:1px;margin:0}.dropdown-section{padding:var(--spacing-2) 0}.dropdown-item{align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-5);text-align:left;color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);background:0 0;border:none;text-decoration:none;display:flex;position:relative}.dropdown-item svg{color:var(--color-neutral-400);transition:color var(--transition-fast), transform var(--transition-fast);flex-shrink:0}.dropdown-item span{flex:1}.dropdown-item:before{content:"";background:var(--gradient-primary);width:3px;height:24px;transition:transform var(--transition-fast);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.dropdown-item:hover{background:var(--color-neutral-50);color:var(--color-primary-700)}.dropdown-item:hover svg{color:var(--color-primary-600);transform:translate(2px)}.dropdown-item:hover:before{transform:translateY(-50%)scaleY(1)}.dropdown-item-logout{color:var(--color-neutral-600)}.dropdown-item-logout:before{background:var(--color-error-500)}.dropdown-item-logout:hover{background:var(--color-error-50);color:var(--color-error-600)}.dropdown-item-logout:hover svg{color:var(--color-error-500)}.user-dropdown.open .dropdown-item:first-child{animation:.3s 50ms both dropdownItemIn}.user-dropdown.open .dropdown-item:nth-child(2){animation:.3s 80ms both dropdownItemIn}.user-dropdown.open .dropdown-item:nth-child(3){animation:.3s .11s both dropdownItemIn}.user-dropdown.open .dropdown-item:nth-child(4){animation:.3s .14s both dropdownItemIn}.user-dropdown.open .dropdown-section:last-child .dropdown-item{animation:.3s .17s both dropdownItemIn}@keyframes dropdownItemIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.header-content{padding:0 var(--spacing-4);gap:var(--spacing-4)}.logo-text{display:none}.logo-image{height:40px}.header-menu-toggle{display:flex}.header-nav{top:var(--header-height);align-items:stretch;gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-0);border-bottom:1px solid var(--color-neutral-200);box-shadow:var(--shadow-lg);z-index:var(--z-fixed);flex-direction:column;display:none;position:fixed;left:0;right:0}.header-nav.open{display:flex}.nav-link{min-height:44px;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);border-radius:var(--radius-md);border-bottom:none}.nav-link.active{background:var(--color-primary-50)}.user-name{display:none}.user-button{padding:var(--spacing-1);border-radius:var(--radius-full)}.user-chevron{display:none}.user-dropdown{min-width:260px;right:0}}@media (width<=480px){.header{height:60px}.header-nav{top:60px}.logo-image{height:36px}.logo-icon{font-size:var(--font-size-2xl)}.user-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.user-dropdown{top:60px;right:var(--spacing-4);left:var(--spacing-4);width:auto;min-width:auto;position:fixed}.dropdown-avatar{width:44px;height:44px;font-size:var(--font-size-lg)}.dropdown-user-name{font-size:var(--font-size-base)}}.site-menu{position:relative}.site-menu__button{align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4) var(--spacing-2) var(--spacing-2);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family-base);display:flex}.site-menu__button:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-50)}.site-menu__button.active{border-color:var(--color-primary-400);background:var(--color-primary-50);box-shadow:0 0 0 3px #c07a3d1a}.site-menu__glyph{background:var(--color-primary-50);width:32px;height:32px;color:var(--color-primary-500);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;display:flex}.site-menu__glyph--lab{background:var(--color-neutral-900);color:var(--color-neutral-0)}.site-menu__glyph--small{width:26px;height:26px}.site-menu__label{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.site-menu__eyebrow{font-size:.58rem;font-weight:var(--font-weight-semibold,600);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-500);line-height:1}.site-menu__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);text-overflow:ellipsis;white-space:nowrap;max-width:140px;line-height:1.2;overflow:hidden}.site-menu__dropdown{top:calc(100% + var(--spacing-3));background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);min-width:250px;padding:var(--spacing-2) 0 var(--spacing-3);opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:1000;position:absolute;right:0;transform:translateY(-8px)scale(.98);box-shadow:0 4px 6px -1px #2e1f1b14,0 10px 20px -5px #2e1f1b1f,0 25px 50px -12px #2e1f1b26}.site-menu__dropdown.open{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.site-menu__title{padding:var(--spacing-3) var(--spacing-5) var(--spacing-2);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-400);margin:0;font-size:.62rem;font-weight:600}.site-menu__item{align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-2) var(--spacing-5);cursor:pointer;text-align:left;font-family:var(--font-family-base);transition:background var(--transition-fast);background:0 0;border:none;display:flex}.site-menu__item:hover{background:var(--color-neutral-50)}.site-menu__item-label{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.site-menu__item-name{font-size:var(--font-size-sm);color:var(--color-neutral-700);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.site-menu__item.current .site-menu__item-name{color:var(--color-neutral-900);font-weight:600}.site-menu__item-type{letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-400);font-size:.6rem;font-weight:500}.site-menu__check{color:var(--color-primary-500);flex-shrink:0}@media (width<=768px){.site-menu__label{display:none}.site-menu__button{padding:var(--spacing-2);gap:var(--spacing-1)}.site-menu__dropdown{min-width:220px}}.dropdown-legal{border-top:1px solid var(--color-neutral-100);flex-wrap:wrap;gap:.25rem .9rem;padding:.6rem 1rem .75rem;display:flex}.dropdown-legal a{color:var(--color-neutral-500);align-items:center;min-height:24px;font-size:.75rem;text-decoration:none;display:inline-flex}.dropdown-legal a:hover,.dropdown-legal a:focus-visible{color:var(--color-primary-700);text-decoration:underline}.layout{background:linear-gradient(135deg, var(--color-neutral-50) 0%, var(--color-neutral-100) 100%);min-height:100vh}.main-content{margin-top:var(--header-height);padding:var(--spacing-6);min-height:calc(100vh - var(--header-height));animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.content-container{max-width:var(--content-max-width);margin:0 auto}@media (width<=768px){.main-content{padding:var(--spacing-6) var(--spacing-4)}}@media (width<=480px){.main-content{padding:var(--spacing-4) var(--spacing-3);margin-top:60px}}.ob-card{background:var(--color-neutral-0);padding:var(--spacing-6) var(--spacing-8) var(--spacing-8);gap:var(--spacing-5);box-shadow:0 0 0 1px var(--color-primary-100);border-radius:20px;flex-direction:column;display:flex}.ob-head{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.ob-head-text{min-width:0;max-width:640px}.ob-kicker{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-600);margin-bottom:var(--spacing-2);display:block}.ob-title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0;line-height:1.15}.ob-lead{margin:var(--spacing-2) 0 0;font-size:var(--font-size-sm);color:var(--color-neutral-600);line-height:1.6}.ob-dismiss{min-height:36px;padding:0 var(--spacing-3);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-500);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;flex-shrink:0}.ob-dismiss:hover{color:var(--color-neutral-800);background:var(--color-neutral-100)}.ob-progress{align-items:center;gap:var(--spacing-3);background:var(--color-neutral-100);border-radius:var(--radius-full);height:8px;margin-right:3.5rem;display:flex;position:relative}.ob-progress-bar{background:var(--gradient-primary);border-radius:var(--radius-full);min-width:8px;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);display:block}.ob-progress-label{font-family:var(--font-family-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);font-variant-numeric:tabular-nums;white-space:nowrap;position:absolute;top:50%;right:-3.5rem;transform:translateY(-50%)}.ob-steps{gap:var(--spacing-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ob-step{gap:var(--spacing-3);padding:var(--spacing-5);background:var(--color-neutral-50);transition:border-color var(--transition-fast), background var(--transition-fast);border:1px solid #0000;border-radius:16px;flex-direction:column;display:flex;position:relative}.ob-step--current{background:var(--color-primary-50);border-color:var(--color-primary-300);box-shadow:var(--shadow-sm)}.ob-step--done{background:var(--color-neutral-0);border-color:var(--color-neutral-100)}.ob-step-index{border-radius:var(--radius-full);width:30px;height:30px;font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--color-neutral-0);color:var(--color-neutral-600);border:1px solid var(--color-neutral-200);justify-content:center;align-items:center;display:inline-flex}.ob-step--current .ob-step-index{background:var(--gradient-primary);color:var(--color-neutral-0);border-color:#0000}.ob-step--done .ob-step-index{background:var(--color-accent-100);color:var(--color-accent-700);border-color:var(--color-accent-200)}.ob-step-body{gap:var(--spacing-1);flex-direction:column;flex:1;display:flex}.ob-step-title{font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0;line-height:1.3}.ob-step--done .ob-step-title{color:var(--color-neutral-500);text-decoration:line-through;-webkit-text-decoration-color:var(--color-neutral-300);text-decoration-color:var(--color-neutral-300)}.ob-step-desc{font-size:var(--font-size-xs);color:var(--color-neutral-600);margin:0;line-height:1.55}.ob-step--done .ob-step-desc{color:var(--color-neutral-400)}.ob-step-cta{justify-content:center;align-items:center;gap:var(--spacing-2);min-height:40px;padding:var(--spacing-2) var(--spacing-5);background:var(--gradient-primary);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-0);cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;text-decoration:none;display:inline-flex}.ob-step-cta:hover{opacity:.92;transform:translateY(-1px)}.ob-step-cta svg{transition:transform var(--transition-fast)}.ob-step-cta:hover svg{transform:translate(2px)}.ob-step-link{align-items:center;gap:var(--spacing-2);min-height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-700);text-decoration:none;display:inline-flex}.ob-step-link:hover{text-decoration:underline}.ob-step-done-label{min-height:40px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-600);align-items:center;display:inline-flex}.ob-banner{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5) var(--spacing-4) var(--spacing-6);margin-bottom:var(--spacing-6);background:var(--color-neutral-0);border-radius:var(--radius-xl);border-left:4px solid var(--color-primary-300);box-shadow:var(--shadow-sm);display:flex}.ob-banner--own{border-left-color:var(--color-primary-500)}.ob-banner-main{gap:var(--spacing-1);flex-direction:column;min-width:0;display:flex}.ob-banner-tag{align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-600);display:inline-flex}.ob-banner-check{border-radius:var(--radius-full);background:var(--color-accent-100);width:18px;height:18px;color:var(--color-accent-700);justify-content:center;align-items:center;display:inline-flex}.ob-banner-text{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin:0;line-height:1.5}.ob-banner-text strong{font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.ob-banner-actions{align-items:center;gap:var(--spacing-2);flex-shrink:0;display:flex}.ob-banner-close{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-neutral-400);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ob-banner-close:hover{color:var(--color-neutral-800);background:var(--color-neutral-100)}.ob-card :is(button,a):focus-visible,.ob-banner :is(button,a):focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.ob-card .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.ob-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.ob-card{padding:var(--spacing-5) var(--spacing-4) var(--spacing-6);border-radius:16px}.ob-title{font-size:var(--font-size-xl)}.ob-steps{grid-template-columns:1fr}.ob-dismiss{margin-left:calc(-1 * var(--spacing-3))}.ob-step{padding:var(--spacing-4)}.ob-step--done .ob-step-desc,.ob-step--upcoming .ob-step-desc{display:none}.ob-step--done,.ob-step--upcoming{flex-direction:row;align-items:center}.ob-step--done .ob-step-done-label,.ob-step--upcoming .ob-step-link{min-height:0}.ob-banner{padding:var(--spacing-4);flex-direction:column;align-items:stretch}.ob-banner-actions{justify-content:space-between}.ob-banner-actions .ob-step-cta{flex:1}}@media (prefers-reduced-motion:reduce){.ob-progress-bar,.ob-step-cta,.ob-step-cta svg{transition:none}}.add-order-modal{flex-direction:column;gap:1.5rem;display:flex}.add-order-modal .modal-error{color:#dc2626;background:#fee2e2;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.add-order-modal .form-section{flex-direction:column;gap:.75rem;display:flex}.add-order-modal .form-section h3{color:#2e1f1b;margin:0;font-size:1rem;font-weight:600}.add-order-modal .customer-inputs{gap:1rem;display:flex}.add-order-modal .customer-inputs .form-group{flex:1}.add-order-modal .form-group{flex-direction:column;gap:.375rem;display:flex}.add-order-modal .form-group label{color:#4a3f3b;font-size:.875rem;font-weight:500}.add-order-modal .form-group input,.add-order-modal .form-group select,.add-order-modal .form-group textarea{color:#2e1f1b;background:#fff;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem}.add-order-modal .form-group input:focus,.add-order-modal .form-group select:focus,.add-order-modal .form-group textarea:focus{border-color:var(--color-primary-500);outline:none}.add-order-modal .form-group textarea{resize:vertical;min-height:60px}.add-order-modal .notes-textarea{color:#2e1f1b;font-family:inherit;line-height:1.5;transition:background .2s;background:#f8f8f8!important;border:none!important;border-radius:12px!important;padding:1rem!important;font-size:.95rem!important}.add-order-modal .notes-textarea:focus{outline:none;background:#f0f0f0!important}.add-order-modal .cakes-loading,.add-order-modal .cakes-empty{text-align:center;color:#6b5e5a;background:#f8f8f8;border-radius:12px;padding:1rem;font-size:.9rem}.add-order-modal .cakes-empty{font-style:italic}.add-order-modal .modal-actions{border-top:1px solid #efe6de;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.add-order-modal .btn-cancel{color:#6b5e5a;cursor:pointer;background:0 0;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.add-order-modal .btn-cancel:hover:not(:disabled){background:#f8f8f8}.add-order-modal .btn-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.add-order-modal .btn-submit:hover:not(:disabled){opacity:.9}.add-order-modal .btn-submit:disabled,.add-order-modal .btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.add-order-modal .customer-inputs,.add-order-modal .modal-actions{flex-direction:column}.add-order-modal .modal-actions button{width:100%}}.order-site-info{margin-bottom:var(--spacing-4);background:var(--color-primary-50,#faf3ec);color:var(--color-neutral-500);border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.8rem;display:flex}.order-site-info svg{color:var(--color-primary-400,#c07a3d);flex-shrink:0}.order-site-info strong{color:var(--color-neutral-800);font-weight:600}.order-badge{padding:var(--spacing-2) var(--spacing-3);background:var(--color-warning-50);border-radius:var(--radius-md);border-left:3px solid var(--color-warning-500);transition:all var(--transition-fast);animation:.3s both orderFadeIn;animation-delay:var(--delay,0s);position:relative}@keyframes orderFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.order-badge.delivered{opacity:.6}.order-badge.delivered .order-badge-cake{text-decoration:line-through}.order-badge-header{align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1);display:flex}.order-check-btn{background:var(--color-neutral-0);border:2px solid var(--color-neutral-300);border-radius:var(--radius-sm);color:#0000;cursor:pointer;width:18px;height:18px;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.order-check-btn:hover{border-color:var(--color-primary-400);background:var(--color-primary-50)}.order-check-btn.checked{background:var(--color-accent-500);border-color:var(--color-accent-500);color:var(--color-neutral-0)}.order-badge-label{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-warning-700);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;display:flex}.order-badge-body{cursor:pointer;flex-direction:column;gap:2px;display:flex}.order-badge-cake{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-900);line-height:1.3}.order-badge-customer{font-size:var(--font-size-xs);color:var(--color-neutral-600)}.order-details{gap:var(--spacing-4);flex-direction:column;display:flex}.order-details-status{display:flex}.order-details .status-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.order-details .status-badge.status-planned{background:var(--color-primary-100);color:var(--color-primary-700)}.order-details .status-badge.status-completed{background:var(--color-accent-100);color:var(--color-accent-700)}.order-details-row{align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-neutral-800);display:flex}.order-details-label{font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);min-width:80px}.order-details-row a{color:var(--color-primary-600)}.order-details-notes{padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-neutral-700);white-space:pre-wrap;margin:0}.order-details-actions{justify-content:space-between;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--color-neutral-200);display:flex}.btn-delete-order{padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--color-error-500);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-error-500);cursor:pointer;transition:all var(--transition-fast);background:0 0}.btn-delete-order:hover{background:var(--color-error-50)}.btn-toggle-delivered{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-accent-500);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast);border:none;display:flex}.btn-toggle-delivered:hover{background:var(--color-accent-600)}.delete-modal-content{text-align:center;padding:var(--spacing-4) 0;flex-direction:column;align-items:center;display:flex}.delete-warning-icon{background:var(--color-error-100);border-radius:var(--radius-full);width:56px;height:56px;color:var(--color-error-600);margin-bottom:var(--spacing-4);justify-content:center;align-items:center;display:flex}.delete-message{font-size:var(--font-size-base);color:var(--color-neutral-700);margin:0 0 var(--spacing-3) 0}.delete-message strong{color:var(--color-neutral-900)}.delete-info{font-size:var(--font-size-sm);color:var(--color-neutral-500);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-6)}.delete-modal-actions{gap:var(--spacing-3);width:100%;display:flex}.delete-modal-actions .btn-cancel{padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-0);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast);flex:1}.delete-modal-actions .btn-cancel:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-400)}.delete-modal-actions .btn-confirm-delete{justify-content:center;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-error-600);border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;display:inline-flex}.delete-modal-actions .btn-confirm-delete:hover{background:var(--color-error-700)}@media (width<=768px){.order-details-actions{flex-direction:column}}.output-rule-modal{flex-direction:column;gap:1.5rem;display:flex}.output-rule-modal .modal-error{color:#dc2626;background:#fee2e2;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.output-rule-modal .form-section{flex-direction:column;gap:.75rem;display:flex}.output-rule-modal .form-group{flex-direction:column;gap:.375rem;display:flex}.output-rule-modal .form-group label{color:#4a3f3b;font-size:.875rem;font-weight:500}.output-rule-modal .form-group input,.output-rule-modal .form-group select{color:#2e1f1b;background:#fff;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem}.output-rule-modal .form-group input:focus,.output-rule-modal .form-group select:focus{border-color:var(--color-primary-500);outline:none}.output-rule-modal .cakes-loading,.output-rule-modal .cakes-empty{text-align:center;color:#6b5e5a;background:#f8f8f8;border-radius:12px;padding:1rem;font-size:.9rem}.output-rule-modal .cakes-empty{font-style:italic}.rule-site-info{background:var(--color-primary-50,#faf3ec);color:var(--color-neutral-500);border-radius:10px;padding:.55rem .85rem;font-size:.8rem}.rule-site-info strong{color:var(--color-neutral-800);font-weight:600}.rule-days{flex-wrap:wrap;gap:.4rem;display:flex}.rule-day{color:var(--color-neutral-500);cursor:pointer;transition:all var(--transition-fast);background:#f8f8f8;border:1.5px solid #0000;border-radius:10px;padding:.5rem .7rem;font-family:inherit;font-size:.8rem;font-weight:500}.rule-day.active{background:var(--color-primary-50);border-color:var(--color-primary-500);color:var(--color-primary-700)}.output-rule-modal .modal-actions{border-top:1px solid #efe6de;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.output-rule-modal .btn-cancel{color:#6b5e5a;cursor:pointer;background:0 0;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.output-rule-modal .btn-cancel:hover:not(:disabled){background:#f8f8f8}.output-rule-modal .btn-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.output-rule-modal .btn-submit:hover:not(:disabled){opacity:.9}.output-rule-modal .btn-submit:disabled,.output-rule-modal .btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.output-rule-modal .modal-actions{flex-direction:column}.output-rule-modal .modal-actions button{width:100%}}.leftover-modal{flex-direction:column;gap:1.25rem;display:flex}.leftover-modal .modal-error{color:#dc2626;background:#fee2e2;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.leftover-hint{color:var(--color-neutral-500);margin:0;font-size:.85rem;line-height:1.5}.leftover-empty{text-align:center;color:#6b5e5a;background:#f8f8f8;border-radius:12px;margin:0;padding:1rem;font-size:.9rem;font-style:italic}.leftover-list{flex-direction:column;gap:.5rem;display:flex}.leftover-row{background:#f8f8f8;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .85rem;display:flex}.leftover-cake{flex-direction:column;gap:2px;min-width:0;display:flex}.leftover-cake-name{color:var(--color-neutral-900);font-size:.9rem;font-weight:500}.leftover-cake-planned{color:var(--color-neutral-500);font-size:.75rem}.leftover-row input{color:#2e1f1b;text-align:center;background:#fff;border:1px solid #e2d6cc;border-radius:8px;flex-shrink:0;width:80px;padding:.6rem;font-family:inherit;font-size:1rem}.leftover-row input:focus{border-color:var(--color-primary-500);outline:none}.leftover-modal .modal-actions{border-top:1px solid #efe6de;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.leftover-modal .btn-cancel{color:#6b5e5a;cursor:pointer;background:0 0;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.leftover-modal .btn-cancel:hover:not(:disabled){background:#f8f8f8}.leftover-modal .btn-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.leftover-modal .btn-submit:hover:not(:disabled){opacity:.9}.leftover-modal .btn-submit:disabled,.leftover-modal .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.week-view{gap:var(--spacing-3);grid-template-columns:repeat(7,1fr);display:grid}.day-column{background:var(--color-neutral-0);border-radius:var(--radius-lg);min-height:320px;transition:all var(--transition-fast);animation:.4s both dayFadeIn;animation-delay:calc(var(--day-index,0) * 50ms);border:1px solid #0000;overflow:hidden}@keyframes dayFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.day-column:hover{border-color:var(--color-neutral-200);box-shadow:var(--shadow-md)}.day-column.past{opacity:.6}.day-column.past:hover{opacity:.8}.day-column.today{border-color:var(--color-primary-300);box-shadow:0 0 0 3px #c07a3d1a}.day-header{padding:var(--spacing-3);background:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-100);flex-direction:column;align-items:center;display:flex;position:relative}.day-column.today .day-header{background:var(--gradient-primary)}.day-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-500);text-transform:capitalize}.day-column.today .day-name{color:#fffc}.day-number{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-800);line-height:1.2}.day-column.today .day-number{color:var(--color-neutral-0)}.day-header.clickable{cursor:pointer}.day-header.clickable:hover{background:var(--color-neutral-100)}.day-column.today .day-header.clickable:hover{background:linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-600) 100%)}.day-header-action{top:var(--spacing-2);right:var(--spacing-2);background:var(--color-primary-500);border-radius:var(--radius-full);width:26px;height:26px;color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast);opacity:0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;transform:scale(.8)}.day-column:hover .day-header-action,.day-column.today .day-header-action{opacity:1;transform:scale(1)}.day-header-action:hover{background:var(--color-primary-600);transform:scale(1.1)}.day-column.today .day-header-action{background:var(--color-neutral-0);color:var(--color-primary-600)}.day-column.today .day-header-action:hover{background:var(--color-neutral-100)}.day-content{padding:var(--spacing-2);gap:var(--spacing-2);flex-direction:column;min-height:200px;display:flex}.no-tasks{flex:1;justify-content:center;align-items:center;min-height:100px;display:flex}.no-tasks-icon{font-size:var(--font-size-lg);color:var(--color-neutral-300)}@media (width<=1200px){.week-view{-webkit-overflow-scrolling:touch;padding-bottom:var(--spacing-2);grid-template-columns:repeat(7,minmax(150px,1fr));overflow-x:auto}}@media (width<=768px){.week-view{grid-template-columns:1fr;overflow-x:visible}.day-column{min-height:auto}.day-header{padding:var(--spacing-3) var(--spacing-4);flex-direction:row;justify-content:space-between}.day-content{min-height:auto;padding:var(--spacing-3)}.no-tasks{min-height:auto;padding:var(--spacing-4)}.day-header-action{opacity:1;width:36px;height:36px;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.day-column{animation:none}}.dashboard-page{max-width:1400px;padding:var(--spacing-8) var(--spacing-4) var(--spacing-16);gap:var(--spacing-12);flex-direction:column;margin:0 auto;display:flex}.dashboard-page :is(button,a,[role=button]):focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-md)}.dashboard-loading{justify-content:center;align-items:center;gap:var(--spacing-4);min-height:50vh;color:var(--color-neutral-600);flex-direction:column;display:flex}.dashboard-loading .loading-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.dashboard-header{justify-content:space-between;align-items:flex-end;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.dashboard-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-600);margin-bottom:var(--spacing-2);display:block}.dashboard-title{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0;line-height:1.05}.dashboard-subtitle{margin:var(--spacing-3) 0 0;font-size:var(--font-size-sm);color:var(--color-neutral-600)}.dashboard-actions{gap:var(--spacing-3);flex-wrap:wrap;display:flex}.btn-primary-action{min-height:44px;padding:var(--spacing-3) var(--spacing-6);background:var(--gradient-primary);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none}.btn-primary-action:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary-action{min-height:40px;padding:var(--spacing-2) var(--spacing-5);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-secondary-action:hover{background:var(--color-neutral-100)}.btn-danger-action{min-height:40px;padding:var(--spacing-2) var(--spacing-5);background:var(--color-error-600);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-0);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-danger-action:hover{background:var(--color-error-700)}.section-heading{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0}.today-section{gap:var(--spacing-4);flex-direction:column;display:flex}.today-layout{gap:var(--spacing-4);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.today-outputs{gap:var(--spacing-4);flex-direction:column;min-width:0;display:flex}.today-card{background:var(--color-neutral-0);padding:var(--spacing-6) var(--spacing-8);gap:var(--spacing-3);border-radius:16px;flex-direction:column;display:flex}.today-card-head{justify-content:space-between;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;display:flex}.today-card-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--color-neutral-600);margin:0}.today-empty{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin:0}.output-lines{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.output-line{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-neutral-100);display:flex}.output-line:last-child{border-bottom:none;padding-bottom:0}.output-line:first-child{padding-top:0}.output-line-info{flex-direction:column;gap:2px;min-width:0;display:flex}.output-line-cake{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-neutral-900)}.output-line-math{font-size:var(--font-size-xs);color:var(--color-neutral-600)}.output-line-count{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);text-align:right;flex-shrink:0;min-width:2ch;line-height:1}.btn-leftovers{min-height:40px;padding:var(--spacing-2) var(--spacing-4);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);cursor:pointer;transition:all var(--transition-fast)}.btn-leftovers:hover:not(:disabled){background:var(--color-neutral-100)}.btn-leftovers.done{border-color:var(--color-accent-500);color:var(--color-accent-700)}.btn-leftovers:disabled{opacity:.5;cursor:not-allowed}.today-orders{background:var(--color-neutral-0);padding:var(--spacing-6);gap:var(--spacing-3);border-radius:16px;flex-direction:column;display:flex}.today-orders-list{gap:var(--spacing-2);flex-direction:column;display:flex}.week-section{gap:var(--spacing-4);flex-direction:column;display:flex}.week-section-header{justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.week-nav{align-items:center;gap:var(--spacing-2);display:flex}.week-nav-btn{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.week-nav-btn:hover{background:var(--color-neutral-100)}.week-nav-today{min-height:40px;padding:var(--spacing-2) var(--spacing-4);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast)}.week-nav-today:hover{background:var(--color-neutral-100)}.day-output-chip{justify-content:space-between;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);background:var(--color-primary-50);border-radius:var(--radius-md);font-size:var(--font-size-xs);display:flex}.day-output-name{color:var(--color-neutral-800);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-output-count{font-weight:var(--font-weight-semibold);color:var(--color-primary-700);white-space:nowrap}.rules-section{gap:var(--spacing-4);flex-direction:column;display:flex}.rules-section-header{align-items:center;gap:var(--spacing-3);display:flex}.rules-count{background:var(--color-neutral-200);border-radius:var(--radius-full);min-width:24px;height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.rules-add-btn{margin-left:auto}.rules-empty{padding:var(--spacing-6);background:var(--color-neutral-0);font-size:var(--font-size-sm);color:var(--color-neutral-600);border-radius:16px;margin:0}.rules-list{gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.rule-card{background:var(--color-neutral-0);padding:var(--spacing-5);gap:var(--spacing-3);transition:background var(--transition-fast);border-radius:16px;flex-direction:column;display:flex}.rule-card:hover{background:#f0f0f0}.rule-card-main{justify-content:space-between;align-items:baseline;gap:var(--spacing-2);display:flex}.rule-card-cake{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.rule-card-qty{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);white-space:nowrap}.rule-card-meta{gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-neutral-600);flex-wrap:wrap;align-items:center;display:flex}.rule-card-actions{gap:var(--spacing-2);margin-top:auto;display:flex}.rule-action{min-height:36px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-fast);background:0 0}.rule-action:hover{background:var(--color-neutral-100)}.rule-action--danger{border-color:var(--color-error-500);color:var(--color-error-600)}.rule-action--danger:hover{background:var(--color-error-50)}.rule-delete-modal{gap:var(--spacing-5);flex-direction:column;display:flex}.rule-delete-modal p{font-size:var(--font-size-sm);color:var(--color-neutral-700);margin:0;line-height:1.5}.rule-delete-actions{justify-content:flex-end;gap:var(--spacing-3);display:flex}.quick-links{gap:var(--spacing-3);flex-wrap:wrap;display:flex}.quick-link{align-items:center;gap:var(--spacing-2);min-height:44px;padding:var(--spacing-2) var(--spacing-5);background:var(--color-neutral-0);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);transition:all var(--transition-fast);text-decoration:none;display:flex}.quick-link:hover{background:#f0f0f0;transform:translateY(-1px)}@media (width<=1000px){.today-layout{grid-template-columns:1fr}}@media (width<=768px){.dashboard-page{gap:var(--spacing-8)}.dashboard-title{font-size:var(--font-size-3xl)}.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-actions button{width:100%}.today-card{padding:var(--spacing-5)}.rules-list{grid-template-columns:1fr}.rules-section-header{flex-wrap:wrap}.rules-add-btn{order:3;width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.dashboard-page *,.dashboard-page :before,.dashboard-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cle{gap:var(--spacing-4);flex-direction:column;display:flex}.cle-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cle-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-2);display:block}.cle-main{gap:var(--spacing-5);grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);align-items:start;display:grid}.cle-preview-column{gap:var(--spacing-4);flex-direction:column;display:flex}.cle-preview-column>.cle-section-title{margin-bottom:0}.cle-controls{gap:var(--spacing-4);flex-direction:column;min-width:0;display:flex}.cle-preview-card{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-2);justify-content:center;align-items:center;min-height:190px;display:flex}.cle-preview{width:100%;max-width:520px;margin:0 auto}.cle-preview-svg{display:block}.cle-layer-shape.is-clickable,.cle-layer-label.is-clickable{cursor:pointer}.cle-layer-shape.is-clickable:hover rect:first-child{filter:brightness(.96)}.cle-layer-label.is-clickable:hover text{fill:var(--color-primary-700)}.cle-preview-empty{align-items:center;gap:var(--spacing-2);padding:var(--spacing-6) var(--spacing-4);color:var(--color-neutral-500);text-align:center;flex-direction:column;display:flex}.cle-preview-empty p{font-size:var(--font-size-sm);margin:0}.cle-shape-section{background:var(--color-neutral-50);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4)}.cle-shape-selector{gap:var(--spacing-2);flex-direction:column;display:flex}.cle-shape-group{align-items:center;gap:var(--spacing-3);display:flex}.cle-shape-group-label{font-size:var(--font-size-xs);color:var(--color-neutral-500);flex:0 0 44px}.cle-shape-options{gap:var(--spacing-1);flex-wrap:wrap;display:flex}.cle-shape-option{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);min-height:32px;font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);align-items:center;gap:5px;padding:4px 10px 4px 6px;display:inline-flex}.cle-shape-option:hover:not(:disabled){border-color:var(--color-primary-300);color:var(--color-primary-700)}.cle-shape-option.is-selected{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.cle-shape-option:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.cle-shape-glyph{flex-shrink:0;width:16px;height:16px}.cle-add{gap:var(--spacing-2);flex-direction:column;display:flex}.cle-search-wrapper{align-items:center;display:flex;position:relative}.cle-search-icon{left:var(--spacing-3);color:var(--color-neutral-400);pointer-events:none;position:absolute}.cle .cle-search-wrapper input.cle-search-input{width:100%;padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) var(--spacing-10);background:var(--color-neutral-0);border:1.5px solid var(--color-neutral-200);border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-neutral-800);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.cle .cle-search-wrapper input.cle-search-input:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.cle .cle-search-wrapper input.cle-search-input::placeholder{color:var(--color-neutral-400)}.cle-chips{flex-wrap:wrap;gap:6px;display:flex}.cle-chip{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);min-height:28px;font-family:var(--font-family-base);font-size:var(--font-size-xs);color:var(--color-neutral-600);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.cle-chip:hover:not(:disabled){border-color:var(--color-neutral-400);color:var(--color-neutral-800)}.cle-chip.is-active{background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-800);font-weight:var(--font-weight-semibold)}.cle-chip:focus-visible,.cle-result:focus-visible,.cle-layer:focus-visible,.cle-layer-remove:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.cle-chip-dot,.cle-result-dot{border:1px solid;border-radius:50%;flex-shrink:0;width:10px;height:10px}.cle-results{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);flex-direction:column;max-height:224px;display:flex;overflow-y:auto}.cle-results-empty{padding:var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-neutral-500);margin:0}.cle-result{align-items:center;gap:var(--spacing-2);width:100%;min-height:40px;padding:var(--spacing-2) var(--spacing-3);border:none;border-bottom:1px solid var(--color-neutral-100);font-family:var(--font-family-base);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;display:flex}.cle-result:last-child{border-bottom:none}.cle-result:hover:not(:disabled),.cle-result.is-just-added{background:var(--color-primary-50)}.cle-result-title{min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cle-result-category{font-size:var(--font-size-xs);color:var(--color-neutral-500);white-space:nowrap}.cle-result-add{background:var(--color-primary-100);width:22px;height:22px;color:var(--color-primary-700);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cle-result:hover .cle-result-add{background:var(--color-primary-500);color:#fff}.cle-stack{gap:var(--spacing-2);background:var(--color-neutral-50);border-radius:var(--radius-lg);padding:var(--spacing-4);flex-direction:column;display:flex}.cle-stack-header{margin-bottom:var(--spacing-1);justify-content:space-between;align-items:baseline;display:flex}.cle-stack-title{font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800)}.cle-stack-count{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.cle-stack-edge{font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-400);padding-left:var(--spacing-1)}.cle-stack-list{gap:var(--spacing-2);flex-direction:column;display:flex}.cle-stack-empty{padding:var(--spacing-5) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-lg);text-align:center}.cle-stack-empty p{margin:0 0 var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.cle-stack-empty span{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.cle-stack-hint{margin:var(--spacing-1) 0 0;font-size:var(--font-size-xs);color:var(--color-neutral-500)}.cle-layer-wrapper{transition:transform var(--transition-fast)}.cle-layer{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast)}.cle-layer:hover{border-color:var(--color-neutral-300)}.cle-layer.is-selected{border-color:var(--color-primary-400);box-shadow:0 0 0 2px var(--color-primary-100)}.cle-layer.is-dragging{opacity:.5;box-shadow:var(--shadow-lg)}.cle-layer.is-drag-over{border-color:var(--color-primary-500);border-style:dashed}.cle-layer.is-inset{margin-left:var(--spacing-5);margin-right:var(--spacing-5)}.cle-layer-row{align-items:center;gap:var(--spacing-2);min-height:48px;padding:var(--spacing-2) var(--spacing-2) var(--spacing-2) 0;cursor:pointer;border-radius:var(--radius-md);display:flex}.cle-layer.is-selected .cle-layer-row{background:var(--color-primary-50);border-bottom-right-radius:0;border-bottom-left-radius:0}.cle-layer-handle{padding:0 var(--spacing-1);color:var(--color-neutral-400);cursor:grab;touch-action:none;justify-content:center;align-self:stretch;align-items:center;display:flex}.cle-layer-handle:hover{color:var(--color-neutral-600)}.cle-layer-handle:active{cursor:grabbing}.cle-layer-swatch{border:1px solid;border-radius:3px;flex-shrink:0;width:14px;height:22px}.cle-layer.is-inset .cle-layer-swatch{height:14px}.cle-layer-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cle-layer-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cle-layer-meta{min-width:0;color:var(--color-neutral-500);align-items:center;gap:6px;font-size:11px;display:flex}.cle-layer-meta-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.cle-layer-tag{border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary-800);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;padding:0 6px;line-height:16px;display:inline-block}.cle-layer-remove{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-neutral-400);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cle-layer-remove:hover:not(:disabled){background:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-600)}.cle-layer-settings{gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-primary-100);flex-direction:column;display:flex}.cle-setting{align-items:center;gap:var(--spacing-2) var(--spacing-3);flex-wrap:wrap;min-height:28px;display:flex}.cle-setting-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);flex:0 0 72px}.cle-setting-value{font-size:var(--font-size-xs);color:var(--color-neutral-500);white-space:nowrap}.cle-thickness-steps{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);align-items:flex-end;gap:3px;padding:3px;display:inline-flex}.cle-thickness-step{cursor:pointer;width:26px;height:26px;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:flex-end;padding:0 0 4px;display:flex}.cle-thickness-step:hover:not(:disabled){background:var(--color-neutral-100)}.cle-thickness-step.is-active{background:var(--color-primary-500)}.cle-thickness-step:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:1px}.cle-thickness-bar{background:var(--color-neutral-400);border-radius:2px;width:12px;display:block}.cle-thickness-step.is-active .cle-thickness-bar{background:#fff}.cle label.cle-setting-toggle{align-items:center;gap:0 var(--spacing-2);cursor:pointer;flex-wrap:wrap;margin:0;display:flex}.cle label.cle-setting-toggle .cle-setting-hint{padding-left:calc(16px + var(--spacing-2));flex-basis:100%;margin-top:2px}.cle .cle-setting-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;margin:0}.cle-setting-toggle .cle-setting-label{flex:none}.cle-setting-hint{font-size:var(--font-size-xs);color:var(--color-neutral-500)}@media (width<=768px){.cle-main{gap:var(--spacing-4);grid-template-columns:1fr}.cle-preview-card{min-height:160px}.cle-shape-group{align-items:flex-start}.cle-layer-handle{padding:0 var(--spacing-2)}.cle-thickness-step{width:30px;height:32px}.cle-layer-settings{padding-left:var(--spacing-3)}.cle-setting-label{flex-basis:100%}.cle-setting-toggle .cle-setting-label{flex-basis:auto}.cle-layer.is-inset{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.cle-layer-remove{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.cle *,.cle :before,.cle :after{transition:none!important}}.landing-page{background:var(--color-neutral-50);min-height:100vh;color:var(--color-neutral-900);scroll-behavior:smooth;overflow-x:hidden}.landing-page :focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px;border-radius:4px}.landing-nav{z-index:100;justify-content:space-between;align-items:center;padding:1.25rem 2rem;transition:background .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;display:flex;position:fixed;top:0;left:0;right:0}.landing-nav.scrolled{-webkit-backdrop-filter:blur(20px);background:#f6efead9;box-shadow:0 1px #2e1f1b0f}.landing-nav-logo{align-items:center;gap:.75rem;text-decoration:none;display:flex}.landing-nav-logo img{width:auto;height:40px}.landing-nav-logo span{font-family:var(--font-family-heading);color:var(--color-neutral-900);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.landing-nav-actions{align-items:center;gap:.5rem;display:flex}.landing-btn-ghost{font-family:var(--font-family-base);color:var(--color-neutral-700);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;padding:.6rem 1.1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .25s,color .25s}.landing-btn-ghost:hover{color:var(--color-neutral-900);background:#2e1f1b0d}.landing-btn-primary{background:var(--color-neutral-900);font-family:var(--font-family-base);color:#fff;cursor:pointer;border-radius:var(--radius-full);border:none;padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .3s cubic-bezier(.16,1,.3,1),transform .3s}.landing-btn-primary:hover{background:var(--color-primary-700);color:#fff;transform:translateY(-1px)}.lp-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:4rem;max-width:1200px;min-height:100vh;margin:0 auto;padding:8rem 2rem 5rem;display:grid;position:relative}.lp-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#c07a3d17 0%,#0000 68%);border-radius:50%;width:640px;height:640px;position:absolute;top:5%;right:-20%}.lp-hero-text{z-index:1;position:relative}.landing-hero-badge{background:var(--color-primary-100);border-radius:var(--radius-full);font-family:var(--font-family-base);color:var(--color-primary-700);opacity:0;align-items:center;gap:.5rem;margin-bottom:1.75rem;padding:.4rem 1rem;font-size:.8rem;font-weight:500;animation:.8s cubic-bezier(.16,1,.3,1) .1s forwards landingFadeUp;display:inline-flex}.lp-hero h1{font-family:var(--font-family-heading);color:var(--color-neutral-900);letter-spacing:-.025em;opacity:0;margin:0 0 1.5rem;font-size:clamp(2.4rem,4.8vw,3.9rem);font-weight:700;line-height:1.08;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards landingFadeUp}.lp-hero h1 em{color:var(--color-primary-600);font-style:italic;font-weight:600}.lp-hero-lead{font-family:var(--font-family-base);color:var(--color-neutral-600);opacity:0;max-width:540px;margin:0 0 2.25rem;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.7;animation:.8s cubic-bezier(.16,1,.3,1) .32s forwards landingFadeUp}.landing-hero-cta{opacity:0;flex-wrap:wrap;align-items:center;gap:.75rem;animation:.8s cubic-bezier(.16,1,.3,1) .45s forwards landingFadeUp;display:flex}.lp-hero-note{font-family:var(--font-family-base);color:var(--color-neutral-500);opacity:0;margin:1.5rem 0 0;font-size:.85rem;animation:.8s cubic-bezier(.16,1,.3,1) .55s forwards landingFadeUp}.landing-btn-large{background:var(--color-neutral-900);font-family:var(--font-family-base);color:#fff;cursor:pointer;border-radius:var(--radius-full);border:none;align-items:center;gap:.5rem;padding:.9rem 1.9rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .3s cubic-bezier(.16,1,.3,1),transform .3s,box-shadow .3s;display:inline-flex}.landing-btn-large:hover{background:var(--color-primary-700);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #c07a3d4d}.landing-btn-large svg{width:18px;height:18px;transition:transform .3s}.landing-btn-large:hover svg{transform:translate(3px)}.landing-btn-outline{border:1.5px solid var(--color-neutral-300);font-family:var(--font-family-base);color:var(--color-neutral-700);cursor:pointer;border-radius:var(--radius-full);background:0 0;align-items:center;padding:.9rem 1.75rem;font-size:1rem;font-weight:500;text-decoration:none;transition:border-color .25s,color .25s,background .25s;display:inline-flex}.landing-btn-outline:hover{border-color:var(--color-neutral-500);color:var(--color-neutral-900);background:#2e1f1b08}.lp-hero-visual{z-index:1;opacity:0;animation:1s cubic-bezier(.16,1,.3,1) .4s forwards landingFadeUp;position:relative}.lp-sheet{background:var(--color-neutral-0);box-shadow:var(--shadow-xl), 0 0 0 1px #2e1f1b0a;font-family:var(--font-family-base);border-radius:24px;padding:1.75rem 1.75rem 1.5rem;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:rotate(-1deg)}.lp-hero-visual:hover .lp-sheet{transform:rotate(0)}.lp-sheet-date{font-family:var(--font-family-heading);letter-spacing:-.02em;color:var(--color-neutral-900);font-size:1.6rem;font-weight:700;line-height:1.1}.lp-sheet-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary-500);margin:.5rem 0 1.25rem;font-size:.7rem;font-weight:600}.lp-sheet-shop{background:var(--color-neutral-50);border-radius:16px;padding:1rem 1.1rem .5rem}.lp-sheet-shop-head{color:var(--color-neutral-800);justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:flex}.lp-sheet-action{color:var(--color-neutral-600);background:var(--color-neutral-0);border-radius:var(--radius-full);padding:.3rem .65rem;font-size:.7rem;font-weight:500}.lp-sheet-line{opacity:0;border-top:1px solid #2e1f1b0f;grid-template-columns:1fr auto;grid-template-areas:"cake big""calc big";align-items:center;column-gap:1rem;padding:.6rem 0;animation:.7s cubic-bezier(.16,1,.3,1) forwards landingFadeUp;display:grid}.lp-sheet-line:first-of-type{border-top:none}.lp-sheet-line:first-of-type{animation-delay:.7s}.lp-sheet-line:nth-of-type(2){animation-delay:.85s}.lp-sheet-line:nth-of-type(3){animation-delay:1s}.lp-sheet-cake{color:var(--color-neutral-800);grid-area:cake;font-size:.95rem;font-weight:500}.lp-sheet-calc{color:var(--color-neutral-500);grid-area:calc;font-size:.72rem}.lp-sheet-big{font-family:var(--font-family-heading);color:var(--color-primary-600);letter-spacing:-.03em;text-align:right;grid-area:big;min-width:2ch;font-size:2.4rem;font-weight:700;line-height:1}.lp-sheet-orders{opacity:0;flex-direction:column;gap:.4rem;margin-top:1rem;animation:.7s cubic-bezier(.16,1,.3,1) 1.15s forwards landingFadeUp;display:flex}.lp-sheet-orders-head{text-transform:uppercase;letter-spacing:.1em;color:var(--color-neutral-500);align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:.72rem;font-weight:600;display:flex}.lp-sheet-orders-head span{background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-full);padding:0 .45rem;font-size:.68rem}.lp-order-badge{background:var(--gradient-primary);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;max-width:100%;padding:.35rem .7rem;font-size:.78rem;font-weight:500;display:inline-block;overflow:hidden}.lp-order-badge.small{white-space:normal;border-radius:6px;padding:.25rem .4rem;font-size:.6rem;line-height:1.25}.lp-sheet-orders .lp-order-badge{align-self:flex-start}.landing-section{max-width:1200px;margin:0 auto;padding:6rem 2rem}.landing-section-header{text-align:center;margin-bottom:4rem}.landing-section-label{font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary-500);margin-bottom:1rem;font-size:.75rem;font-weight:600;display:inline-block}.landing-section-title{font-family:var(--font-family-heading);color:var(--color-neutral-900);letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.2}.landing-section-desc{font-family:var(--font-family-base);color:var(--color-neutral-600);max-width:560px;margin:0 auto;font-size:1.05rem;line-height:1.7}.lp-day{flex-direction:column;gap:5rem;display:flex;position:relative}.lp-day:before{content:"";background:linear-gradient(to bottom, transparent, var(--color-neutral-300) 6%, var(--color-neutral-300) 94%, transparent);pointer-events:none;width:1px;position:absolute;top:2rem;bottom:2rem;left:44px}.lp-step{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:3rem;display:grid}.lp-step.reverse .lp-step-text{order:3}.lp-step.reverse .lp-step-visual{order:2}.lp-step-rail{text-align:center;flex-direction:column;align-self:start;align-items:center;gap:.35rem;display:flex;position:sticky;top:6rem}.lp-step-time{font-family:var(--font-family-heading);letter-spacing:-.03em;color:var(--color-neutral-900);background:var(--color-neutral-50);padding:.25rem .5rem;font-size:1.9rem;font-style:italic;font-weight:600;line-height:1}.lp-step-place{font-family:var(--font-family-base);text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary-600);background:var(--color-neutral-50);padding:0 .25rem;font-size:.7rem;font-weight:600}.lp-step-text h3{font-family:var(--font-family-heading);letter-spacing:-.02em;color:var(--color-neutral-900);margin:0 0 1rem;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;line-height:1.25}.lp-step-text p{font-family:var(--font-family-base);color:var(--color-neutral-600);margin:0 0 1.5rem;font-size:1rem;line-height:1.7}.landing-showcase-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.landing-showcase-list li{font-family:var(--font-family-base);color:var(--color-neutral-700);align-items:flex-start;gap:.65rem;font-size:.95rem;line-height:1.5;display:flex}.landing-showcase-list li svg{width:18px;height:18px;color:var(--color-accent-500);flex-shrink:0;margin-top:3px}.lp-mock{background:var(--color-neutral-0);box-shadow:var(--shadow-lg), 0 0 0 1px #2e1f1b0a;font-family:var(--font-family-base);color:var(--color-neutral-800);border-radius:20px;padding:1.5rem}.lp-mock-title{font-family:var(--font-family-heading);letter-spacing:-.02em;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.lp-mock-qty{font-family:var(--font-family-base);color:var(--color-primary-700);background:var(--color-primary-100);border-radius:var(--radius-full);white-space:nowrap;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.lp-steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lp-steps li{border-radius:10px;grid-template-columns:2.6rem 1fr auto 10px;align-items:center;gap:.75rem;padding:.6rem .5rem;font-size:.85rem;display:grid}.lp-steps li.current{background:var(--color-primary-50)}.lp-step-when{color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.lp-step-what{font-weight:500}.lp-step-meta{color:var(--color-neutral-500);white-space:nowrap;font-size:.72rem}.lp-step-status{background:var(--color-neutral-300);border-radius:50%;width:10px;height:10px}.lp-step-status.done{background:var(--color-accent-500)}.lp-step-status.progress{background:var(--color-primary-500);box-shadow:0 0 0 3px #c07a3d33}.lp-shopping{border-top:1px dashed var(--color-neutral-200);margin-top:1rem;padding-top:1rem}.lp-shopping-head{text-transform:uppercase;letter-spacing:.1em;color:var(--color-neutral-500);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.lp-shopping-row{justify-content:space-between;padding:.3rem 0;font-size:.85rem;display:flex}.lp-shopping-row span:last-child{font-variant-numeric:tabular-nums;color:var(--color-neutral-600)}.lp-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:.75rem;display:grid}.lp-week-day{background:var(--color-neutral-50);border-radius:10px;flex-direction:column;min-height:150px;display:flex;overflow:hidden}.lp-week-day.past{opacity:.55}.lp-week-head{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-500);padding:.45rem .25rem;font-size:.62rem;font-weight:600}.lp-week-day.today .lp-week-head{background:var(--gradient-primary);color:#fff}.lp-week-body{flex-direction:column;gap:3px;padding:.35rem;display:flex}.lp-week-out{color:var(--color-neutral-700);background:var(--color-neutral-0);overflow-wrap:anywhere;border-radius:6px;flex-direction:column;gap:1px;padding:.28rem .35rem;font-size:.6rem;line-height:1.25;display:flex}.lp-week-out b{color:var(--color-primary-700);font-weight:600}.lp-week-empty{color:var(--color-neutral-400);text-align:center;padding-top:.5rem;font-size:.6rem}.lp-layers{flex-direction:column;gap:4px;max-width:260px;margin:0 auto 1.25rem;display:flex}.lp-layer{text-align:center;border-radius:8px;padding:.55rem .75rem;font-size:.75rem;font-weight:500}.lp-layer.meringue{background:var(--color-primary-50);color:var(--color-primary-800);border-radius:40px 40px 8px 8px;margin:0 12%}.lp-layer.cream{background:var(--color-primary-200);color:var(--color-primary-900);margin:0 5%}.lp-layer.crust{background:var(--color-primary-600);color:#fff;border-radius:8px 8px 14px 14px}.lp-cost{border-top:1px dashed var(--color-neutral-200);padding-top:.75rem}.lp-cost-row{color:var(--color-neutral-600);justify-content:space-between;padding:.3rem 0;font-size:.85rem;display:flex}.lp-cost-row span:last-child{font-variant-numeric:tabular-nums}.lp-cost-row.total{color:var(--color-neutral-900);border-top:1px solid var(--color-neutral-200);margin-top:.25rem;padding-top:.55rem;font-weight:600}.lp-cost-row.total span:last-child{font-family:var(--font-family-heading);color:var(--color-primary-600);letter-spacing:-.02em;font-size:1.35rem}.lp-leftover-row{border-top:1px solid #2e1f1b0f;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;display:flex}.lp-leftover-row:first-of-type{border-top:none}.lp-stepper{align-items:center;gap:.15rem;display:inline-flex}.lp-stepper b,.lp-stepper i{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-style:normal;font-weight:500;display:inline-flex}.lp-stepper b{background:var(--color-neutral-50);color:var(--color-neutral-500);font-size:.9rem}.lp-stepper i{width:34px;font-family:var(--font-family-heading);color:var(--color-neutral-900);font-size:1.1rem;font-weight:700}.lp-tomorrow{background:var(--color-primary-50);border-radius:14px;margin-top:1rem;padding:.9rem 1rem}.lp-tomorrow-head{text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary-700);margin-bottom:.4rem;font-size:.7rem;font-weight:600}.lp-tomorrow-line{justify-content:space-between;align-items:baseline;padding:.25rem 0;font-size:.85rem;display:flex}.lp-tomorrow-line s{color:var(--color-neutral-400);margin-right:.35rem}.lp-tomorrow-line strong{font-family:var(--font-family-heading);color:var(--color-primary-600);letter-spacing:-.02em;font-size:1.4rem}.lp-also{border-top:1px solid var(--color-neutral-200);align-items:flex-start;gap:1.5rem;margin-top:5rem;padding-top:2.5rem;display:flex}.lp-also-label{font-family:var(--font-family-heading);color:var(--color-neutral-600);flex-shrink:0;padding-top:.25rem;font-size:1.2rem;font-style:italic}.lp-also-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lp-also-list li{font-family:var(--font-family-base);color:var(--color-neutral-700);background:var(--color-neutral-0);border-radius:var(--radius-full);padding:.5rem .9rem;font-size:.85rem}.lp-band{background:var(--color-neutral-100)}.lp-band-inner{padding-top:5rem;padding-bottom:5rem}.lp-sites-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.lp-site-card{background:var(--color-neutral-0);border-radius:20px;padding:2rem;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}.lp-site-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.lp-site-icon{background:var(--color-primary-100);width:44px;height:44px;color:var(--color-primary-700);border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.lp-site-icon svg{width:22px;height:22px}.lp-site-card h3{font-family:var(--font-family-heading);letter-spacing:-.01em;color:var(--color-neutral-900);margin:0 0 .6rem;font-size:1.2rem;font-weight:700}.lp-site-card p{font-family:var(--font-family-base);color:var(--color-neutral-600);margin:0;font-size:.92rem;line-height:1.65}.landing-pricing-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:760px;margin:0 auto;display:grid}.landing-pricing-card{background:var(--color-neutral-0);font-family:var(--font-family-base);border-radius:20px;flex-direction:column;gap:1rem;padding:2.25rem 2rem 2rem;display:flex;position:relative}.landing-pricing-card.featured{background:var(--color-neutral-900);color:#fff}.landing-pricing-badge{background:var(--color-primary-500);color:#fff;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:5px 12px;font-size:.68rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.landing-pricing-plan{font-family:var(--font-family-heading);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.landing-pricing-price{align-items:baseline;gap:6px;display:flex}.landing-price-amount{font-family:var(--font-family-heading);letter-spacing:-.03em;font-size:2.75rem;font-weight:700;line-height:1}.landing-pricing-card.featured .landing-price-amount{color:var(--color-primary-300)}.landing-price-period{opacity:.6;font-size:.875rem}.landing-pricing-users{opacity:.7;border-bottom:1px solid #2e1f1b14;padding-bottom:1rem;font-size:.85rem;line-height:1.5}.landing-pricing-card.featured .landing-pricing-users{border-bottom-color:#ffffff26}.landing-pricing-features{flex-direction:column;flex:1;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.landing-pricing-features li{align-items:flex-start;gap:.5rem;font-size:.875rem;line-height:1.45;display:flex}.landing-pricing-features svg{width:16px;height:16px;color:var(--color-accent-500);flex-shrink:0;margin-top:2px}.landing-pricing-card.featured .landing-pricing-features svg{color:var(--color-accent-300)}.landing-pricing-cta{text-align:center;border-radius:var(--radius-full);background:var(--color-neutral-900);color:#fff;margin-top:.75rem;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:block}.landing-pricing-cta:hover{background:var(--color-primary-700);color:#fff;transform:translateY(-1px)}.landing-pricing-card.featured .landing-pricing-cta{background:var(--color-primary-500);color:#fff}.landing-pricing-card.featured .landing-pricing-cta:hover{background:var(--color-primary-400);color:#fff}.lp-faq-section{padding-top:2rem}.lp-faq{flex-direction:column;gap:.5rem;max-width:720px;margin:0 auto;display:flex}.lp-faq-item{background:var(--color-neutral-0);font-family:var(--font-family-base);border-radius:16px;padding:0 1.5rem}.lp-faq-item summary{cursor:pointer;color:var(--color-neutral-900);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;font-size:1rem;font-weight:600;list-style:none;display:flex}.lp-faq-item summary::-webkit-details-marker{display:none}.lp-faq-item summary:after{content:"+";font-family:var(--font-family-heading);color:var(--color-primary-500);flex-shrink:0;font-size:1.4rem;font-weight:400;line-height:1;transition:transform .3s cubic-bezier(.16,1,.3,1)}.lp-faq-item[open] summary:after{transform:rotate(45deg)}.lp-faq-item p{color:var(--color-neutral-600);max-width:60ch;margin:0;padding:0 0 1.25rem;font-size:.95rem;line-height:1.7}.landing-cta{text-align:center;padding:4rem 2rem 6rem}.landing-cta-box{background:var(--color-neutral-900);border-radius:28px;max-width:720px;margin:0 auto;padding:4rem 3rem;position:relative;overflow:hidden}.landing-cta-box:before{content:"";pointer-events:none;background:radial-gradient(circle,#c07a3d38 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.landing-cta-box h2{font-family:var(--font-family-heading);color:#fff;letter-spacing:-.02em;z-index:1;margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;position:relative}.landing-cta-box p{font-family:var(--font-family-base);color:#ffffffa6;z-index:1;max-width:460px;margin:0 auto 2rem;font-size:1rem;line-height:1.7;position:relative}.landing-btn-cta{background:var(--color-primary-500);font-family:var(--font-family-base);color:#fff;cursor:pointer;border-radius:var(--radius-full);z-index:1;border:none;align-items:center;gap:.5rem;padding:.9rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .3s cubic-bezier(.16,1,.3,1),transform .3s,box-shadow .3s;display:inline-flex;position:relative}.landing-btn-cta:hover{background:var(--color-primary-400);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #c07a3d66}.landing-btn-cta svg{width:18px;height:18px;transition:transform .3s}.landing-btn-cta:hover svg{transform:translate(3px)}.landing-footer{text-align:center;border-top:1px solid var(--color-neutral-200);flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.landing-footer p{font-family:var(--font-family-base);color:var(--color-neutral-500);margin:0;font-size:.8rem}.landing-footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.landing-footer a{font-family:var(--font-family-base);color:var(--color-neutral-600);font-size:.8rem;text-decoration:none}.landing-footer a:hover{color:var(--color-primary-600);text-decoration:underline}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lp-recipes-section{padding-top:2rem}.lp-recipes{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:4rem;display:grid}.lp-recipes-visual{min-width:0}.lp-book{padding-bottom:3.5rem;padding-right:2.5rem;position:relative}.lp-book-lib{background:var(--color-neutral-0);box-shadow:var(--shadow-lg), 0 0 0 1px #2e1f1b0a;font-family:var(--font-family-base);color:var(--color-neutral-800);border-radius:20px;padding:1.25rem 1.25rem 1.5rem}.lp-book-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.lp-book-tabs{gap:.25rem;display:flex}.lp-book-tab{font-family:var(--font-family-heading);color:var(--color-neutral-500);border-radius:8px;padding:.3rem .6rem;font-size:1rem;font-weight:600}.lp-book-tab.active{color:var(--color-neutral-900);background:var(--color-primary-50)}.lp-book-tab b{font-family:var(--font-family-base);color:var(--color-primary-700);vertical-align:middle;margin-left:.3rem;font-size:.7rem;font-weight:600}.lp-book-search{border-radius:var(--radius-full);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);min-width:0;color:var(--color-neutral-800);flex:0 200px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.8rem;display:flex}.lp-book-search svg{width:14px;height:14px;color:var(--color-neutral-500);flex-shrink:0}.lp-book-search span:after{content:"";vertical-align:-.1em;background:var(--color-primary-600);width:1px;height:.9em;margin-left:1px;display:inline-block}.lp-book-chips{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.lp-book-chip{border-radius:var(--radius-full);background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);color:var(--color-neutral-700);white-space:nowrap;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.72rem;font-weight:500;display:inline-flex}.lp-book-chip.active{background:var(--color-neutral-900);border-color:var(--color-neutral-900);color:var(--color-neutral-0)}.lp-book-chip b{opacity:.7;font-weight:600}.lp-book-chip i,.lp-book-card-sub i{border:1px solid;border-radius:50%;width:9px;height:9px;display:inline-block}.lp-book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.lp-book-card{border:1px solid var(--color-neutral-100);background:var(--color-neutral-0);border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:.75rem .8rem .65rem;display:flex}.lp-book-card-sub{letter-spacing:.05em;text-transform:uppercase;color:var(--color-neutral-500);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;font-size:.58rem;font-weight:600;display:inline-flex;overflow:hidden}.lp-book-card-title{font-family:var(--font-family-heading);color:var(--color-neutral-900);font-size:.9rem;font-weight:600;line-height:1.2}.lp-book-card-meta{color:var(--color-neutral-600);font-size:.68rem}.lp-book-card-ings{color:var(--color-neutral-500);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.66rem;line-height:1.35;display:-webkit-box;overflow:hidden}.lp-book-card-cost{color:var(--color-primary-700);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.72rem;font-weight:600}.lp-book-cake{background:var(--color-neutral-0);border:1px solid var(--color-primary-200);width:300px;box-shadow:var(--shadow-xl);border-radius:20px;position:absolute;bottom:0;right:0;overflow:hidden;transform:rotate(1.5deg)}.lp-book-cake-cut{background:var(--color-primary-50);justify-content:center;align-items:flex-end;min-height:150px;padding:.5rem .3rem 0;display:flex}.lp-book-cake-cut .cle-preview{max-width:none}.lp-book-cake-body{flex-direction:column;gap:2px;padding:.75rem 1rem .5rem;display:flex}.lp-book-cake-name{font-family:var(--font-family-heading);color:var(--color-neutral-900);font-size:1rem;font-weight:600;line-height:1.2}.lp-book-cake-sub{color:var(--color-neutral-600);font-size:.7rem}.lp-book-cake-foot{border-top:1px dashed var(--color-neutral-200);color:var(--color-neutral-600);gap:.75rem;padding:.5rem 1rem .8rem;font-size:.66rem;display:flex}.lp-book-cake-foot b{color:var(--color-neutral-900);font-variant-numeric:tabular-nums;font-size:.8rem;display:block}.lp-book-cake-foot .margin b{color:var(--color-primary-700)}.lp-recipes-text{flex-direction:column;gap:1.75rem;display:flex}.lp-recipes-point{align-items:flex-start;gap:1rem;display:flex}.lp-recipes-icon{background:var(--color-primary-100);width:42px;height:42px;color:var(--color-primary-700);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lp-recipes-icon svg{width:20px;height:20px}.lp-recipes-point h3{font-family:var(--font-family-heading);letter-spacing:-.01em;color:var(--color-neutral-900);margin:0 0 .35rem;font-size:1.2rem;font-weight:700}.lp-recipes-point p{font-family:var(--font-family-base);color:var(--color-neutral-600);margin:0;font-size:.95rem;line-height:1.65}.lp-recipes-cta{font-family:var(--font-family-base);color:var(--color-primary-700);align-self:flex-start;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.lp-recipes-cta svg{width:16px;height:16px;transition:transform .25s}.lp-recipes-cta:hover svg{transform:translate(3px)}@media (width<=1024px){.lp-recipes{grid-template-columns:1fr;gap:3rem}.lp-recipes-text{max-width:640px}}@media (width<=768px){.lp-recipes-section{padding-top:1rem}.lp-book{padding:0}.lp-book-lib{padding:1rem 1rem 1.25rem}.lp-book-search{display:none}.lp-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-book-card:nth-child(n+5){display:none}.lp-book-cake{width:auto;max-width:320px;margin:1.25rem auto 0;position:static;transform:none}}.landing-reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}.landing-reveal.visible{opacity:1;transform:translateY(0)}.landing-stagger>*{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(24px)}.landing-stagger.visible>:first-child{transition-delay:0s}.landing-stagger.visible>:nth-child(2){transition-delay:.1s}.landing-stagger.visible>:nth-child(3){transition-delay:.2s}.landing-stagger.visible>:nth-child(4){transition-delay:.3s}.landing-stagger.visible>*{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.landing-page{scroll-behavior:auto}.landing-hero-badge,.lp-hero h1,.lp-hero-lead,.landing-hero-cta,.lp-hero-note,.lp-hero-visual,.lp-sheet-line,.lp-sheet-orders{opacity:1;animation:none}.landing-reveal,.landing-stagger>*{opacity:1;transition:none;transform:none}.lp-sheet{transition:none;transform:none}.lp-site-card,.landing-btn-large,.landing-btn-primary,.landing-btn-cta,.landing-pricing-cta{transition:none}}@media (width<=1024px){.lp-hero{text-align:center;grid-template-columns:1fr;gap:3rem;min-height:0;padding-top:7rem}.lp-hero-lead{margin-left:auto;margin-right:auto}.landing-hero-cta{justify-content:center}.lp-hero-visual{text-align:left;width:100%;max-width:520px;margin:0 auto}.lp-day:before{display:none}.lp-step{grid-template-columns:1fr;gap:1.5rem}.lp-step-rail{text-align:left;flex-direction:row;align-items:baseline;gap:.75rem;position:static}.lp-step-time,.lp-step-place{background:0 0;padding:0}.lp-step.reverse .lp-step-text,.lp-step.reverse .lp-step-visual{order:0}.lp-sites-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}.landing-pricing-grid{grid-template-columns:1fr;max-width:440px}}@media (width<=768px){.landing-nav{padding:1rem 1.25rem}.landing-nav-logo span,.lp-nav-hide-sm{display:none}.lp-hero{padding:6rem 1.5rem 3rem}.landing-hero-cta{flex-direction:column;width:100%;max-width:320px;margin:0 auto}.landing-btn-large,.landing-btn-outline{justify-content:center;width:100%}.lp-sheet{padding:1.25rem 1.25rem 1rem;transform:none}.lp-sheet-date{font-size:1.3rem}.lp-sheet-big{font-size:2rem}.landing-section{padding:4rem 1.5rem}.landing-section-header{margin-bottom:2.5rem}.lp-day{gap:3.5rem}.lp-week{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:.6rem}.lp-week-day.past{display:none}.lp-week-day{min-height:130px}.lp-also{flex-direction:column;gap:.75rem;margin-top:3.5rem}.lp-band-inner{padding-top:4rem;padding-bottom:4rem}.landing-cta{padding:3rem 1.5rem 4rem}.landing-cta-box{border-radius:20px;padding:3rem 1.5rem}}@media (width<=480px){.landing-nav{padding:.75rem 1rem}.landing-nav-actions{gap:.25rem}.landing-nav-actions .landing-btn-ghost{padding:.5rem .6rem;font-size:.85rem}.landing-nav-actions .landing-btn-primary{padding:.5rem .9rem;font-size:.85rem}.lp-hero h1{font-size:2.1rem}.lp-sheet-line{grid-template-columns:1fr auto}.lp-sheet-calc{font-size:.68rem}.lp-faq-item{padding:0 1.1rem}}.auth-container{background:linear-gradient(135deg, var(--color-secondary-50) 0%, var(--color-secondary-200) 100%);min-height:100vh;padding:var(--spacing-6);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-content{z-index:1;width:100%;max-width:480px}.auth-header{text-align:center;margin-bottom:var(--spacing-8);color:var(--color-neutral-800)}.auth-logo{width:280px;max-width:100%;height:auto;margin:0 auto var(--spacing-4);filter:drop-shadow(0 2px 4px #0000001a)}.auth-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);font-family:var(--font-family-heading);margin-bottom:var(--spacing-3);text-shadow:none}.auth-subtitle{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-heading);margin-bottom:var(--spacing-2);text-shadow:none}.auth-description{font-size:var(--font-size-base);opacity:.7;font-weight:var(--font-weight-medium)}.auth-form{background:var(--color-neutral-0);padding:var(--spacing-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), 0 0 40px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{margin-bottom:var(--spacing-6)}.form-group label{margin-bottom:var(--spacing-2);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-neutral-700);display:block}.form-group input,.form-group select{width:100%;padding:var(--spacing-4) var(--spacing-5);border:2px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-neutral-800);transition:all var(--transition-base);background:var(--color-neutral-0)}.form-group input::placeholder{color:var(--color-neutral-400)}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 4px var(--color-primary-100);outline:none;transform:translateY(-1px)}.form-group input:disabled{background-color:var(--color-neutral-100);color:var(--color-neutral-500);cursor:not-allowed;border-color:var(--color-neutral-200)}.form-group-with-icon{position:relative}.form-group-icon{left:var(--spacing-4);color:var(--color-neutral-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-group-with-icon input{padding-left:var(--spacing-10)}.auth-button{width:100%;font-size:1rem;font-weight:600;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;border:none;border-radius:14px;padding:1rem 1.5rem;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s;position:relative;overflow:hidden}.auth-button.primary{color:#fffbf7;margin-bottom:var(--spacing-4);text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);box-shadow:0 6px 20px -4px #c07a3d80,0 3px 6px -2px #a8652f40,inset 0 1px 1px #ffffff26}.auth-button.primary:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.auth-button.primary:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px -6px #c07a3d8c,0 5px 10px -3px #a8652f4d,inset 0 1px 1px #fff3}.auth-button.primary:hover:not(:disabled):before{opacity:1}.auth-button.primary:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.auth-button.primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3);transform:none}.auth-button.primary:focus-visible{box-shadow:0 6px 20px -4px #c07a3d80, 0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-primary-400);outline:none}.auth-button.text{color:var(--color-primary-600);background:0 0;border:2px solid #0000;padding:.875rem;font-weight:500}.auth-button.text:hover:not(:disabled){border-color:var(--color-primary-200);color:var(--color-primary-700);background:#fcf8f4cc;transform:translateY(-1px)}.auth-button.text:active:not(:disabled){background:#fcf8f4f2;transform:translateY(0)scale(.98)}.auth-error{padding:var(--spacing-4) var(--spacing-5);background:var(--color-error-50);border-left:4px solid var(--color-error-500);border-radius:var(--radius-lg);color:var(--color-error-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-5);align-items:center;gap:var(--spacing-3);display:flex}.auth-error:before{content:"";display:none}.auth-success{padding:var(--spacing-4) var(--spacing-5);background:var(--color-success-50);border-left:4px solid var(--color-success-500);border-radius:var(--radius-lg);color:var(--color-success-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-5);align-items:center;gap:var(--spacing-3);display:flex}.auth-success:before{content:"";display:none}.auth-forgot-password{text-align:right;margin-top:var(--spacing-2);margin-bottom:var(--spacing-6)}.auth-forgot-password a{color:var(--color-primary-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.auth-forgot-password a:hover{color:var(--color-primary-700);text-decoration:underline}.auth-divider{align-items:center;gap:var(--spacing-3);margin:var(--spacing-6) 0;color:var(--color-neutral-500);font-size:var(--font-size-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-neutral-300);flex:1;height:1px}.auth-content--wide{max-width:560px}.signup-steps{margin-bottom:var(--spacing-6);justify-content:center;align-items:center;gap:0;display:flex}.signup-step{align-items:center;gap:var(--spacing-2);display:flex}.signup-step__circle{border:2px solid var(--color-neutral-300);width:28px;height:28px;color:var(--color-neutral-400);background:var(--color-neutral-0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.signup-step--done .signup-step__circle{color:#fff;background:#c07a3d;border-color:#c07a3d}.signup-step__label{color:var(--color-neutral-400);white-space:nowrap;font-size:.75rem;font-weight:600;transition:color .2s}.signup-step--done .signup-step__label{color:var(--color-neutral-700)}.signup-step__line{background:var(--color-neutral-200);height:2px;margin:0 var(--spacing-3);flex:1;min-width:48px}.form-group--featured input{letter-spacing:-.01em;font-weight:600;padding:var(--spacing-5) var(--spacing-5)!important;font-size:1.125rem!important}.form-hint{margin-top:var(--spacing-2);color:var(--color-neutral-400);font-size:.75rem;font-style:italic}.signup-recap{align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2);background:#fff8f4;border:1.5px solid #c07a3d40;display:flex}.signup-recap__label{text-transform:uppercase;letter-spacing:.08em;color:#c07a3d;flex-shrink:0;font-size:.7rem;font-weight:700}.signup-recap__value{color:var(--color-neutral-800);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;font-weight:600;overflow:hidden}.signup-recap__edit{color:#c07a3d;cursor:pointer;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);background:0 0;border:none;flex-shrink:0;font-size:.75rem;font-weight:600;transition:background .15s}.signup-recap__edit:hover{background:#c07a3d1a}.auth-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-neutral-400);margin-bottom:var(--spacing-4);margin-top:var(--spacing-2);font-size:.7rem;font-weight:700}.auth-form-divider{background:var(--color-neutral-100);height:1px;margin:var(--spacing-6) 0}.form-row{gap:var(--spacing-4);grid-template-columns:1fr 1fr;display:grid}.form-required{color:#c07a3d;margin-left:2px}.form-optional{color:var(--color-neutral-400);margin-left:var(--spacing-2);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:500}.form-phone-wrap{border:2px solid var(--color-neutral-300);border-radius:var(--radius-lg);transition:border-color var(--transition-base), box-shadow var(--transition-base);background:var(--color-neutral-0);align-items:center;display:flex;overflow:hidden}.form-phone-wrap:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 4px var(--color-primary-100)}.form-phone-prefix{padding:var(--spacing-4) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-neutral-600);background:var(--color-neutral-50);border-right:2px solid var(--color-neutral-200);white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:600}.form-phone-input{flex:1;padding:var(--spacing-4) var(--spacing-4)!important;box-shadow:none!important;border:none!important;border-radius:0!important;outline:none!important;transform:none!important}.form-checkbox{align-items:flex-start;gap:var(--spacing-3);cursor:pointer;margin-top:var(--spacing-5);padding:var(--spacing-4) var(--spacing-5);border-radius:var(--radius-lg);background:var(--color-neutral-50);border:2px solid var(--color-neutral-200);transition:border-color .2s,background .2s;display:flex}.form-checkbox:hover{border-color:var(--color-primary-300);background:#fff8f4}.form-checkbox--checked{border-color:var(--color-primary-400);background:#fff8f4}.form-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.form-checkbox__box{border:2px solid var(--color-neutral-300);background:var(--color-neutral-0);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.form-checkbox--checked .form-checkbox__box{background:#c07a3d;border-color:#c07a3d;transform:scale(1.05)}.form-checkbox__box svg{width:12px;height:10px}.form-checkbox__label{font-size:var(--font-size-sm);color:var(--color-neutral-600);line-height:1.5}.form-checkbox__link{color:#c07a3d;border-bottom:1px solid #c07a3d4d;font-weight:600;text-decoration:none;transition:border-color .15s}.form-checkbox__link:hover{border-color:#c07a3d}@media (width<=640px){.form-row{grid-template-columns:1fr}.auth-container{padding:var(--spacing-4)}.auth-logo{width:220px}.auth-title{font-size:var(--font-size-4xl)}.auth-subtitle{font-size:var(--font-size-2xl)}.auth-form{padding:var(--spacing-6)}.form-group input{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm)}.auth-button{padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm)}}@media (width<=480px){.auth-logo{width:180px}.auth-title{font-size:var(--font-size-3xl)}.auth-form{padding:var(--spacing-5)}}.signup-plans{gap:var(--spacing-3);grid-template-columns:1fr 1fr;display:grid}.signup-plan{gap:var(--spacing-1);padding:var(--spacing-5);background:var(--color-neutral-0);border:1.5px solid var(--color-neutral-200);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;transition:border-color .15s,background .15s;display:flex;position:relative}.signup-plan:hover{border-color:#c07a3d80}.signup-plan--selected{background:#fff8f4;border-color:#c07a3d}.signup-plan input[type=radio]{opacity:0;width:0;height:0;position:absolute}.signup-plan:has(input:focus-visible){outline-offset:2px;outline:2px solid #c07a3d}.signup-plan__name{text-transform:uppercase;letter-spacing:.08em;color:#c07a3d;font-size:.7rem;font-weight:700}.signup-plan__price{color:var(--color-neutral-500);font-size:.85rem}.signup-plan__price strong{font-family:var(--font-family-heading);color:var(--color-neutral-800);font-size:1.75rem;font-weight:600}.signup-plan__tagline{color:var(--color-neutral-500);font-size:.78rem;line-height:1.4}.signup-trial-note{margin-top:var(--spacing-4);color:var(--color-neutral-500);font-size:.8rem;line-height:1.5}.signup-trial-note strong{color:var(--color-neutral-700)}@media (width<=480px){.signup-plans{grid-template-columns:1fr}.signup-step__line{min-width:16px;margin:0 var(--spacing-2)}.signup-step--pending .signup-step__label{display:none}}.signup-business-fields{margin-top:var(--spacing-5);animation:.2s signup-reveal}@keyframes signup-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.signup-business-fields{animation:none}}.verify-card{text-align:center}.verify-icon{width:56px;height:56px;margin:0 auto var(--spacing-5);color:#c07a3d;background:#fff8f4;border:1.5px solid #c07a3d40;border-radius:50%;justify-content:center;align-items:center;display:flex}.verify-icon--ok{background:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-500)}.verify-title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-800);margin-bottom:var(--spacing-3)}.verify-text{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-bottom:var(--spacing-5);line-height:1.6}.verify-email{color:var(--color-neutral-800);overflow-wrap:anywhere}.verify-status{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);margin-bottom:var(--spacing-5);background:var(--color-neutral-50);color:var(--color-neutral-500);border-radius:999px;font-size:.8rem;font-weight:600;display:inline-flex}.verify-status__dot{background:#c07a3d;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite verify-pulse}@keyframes verify-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.verify-hint{margin-top:var(--spacing-3);color:var(--color-neutral-400);font-size:.78rem;line-height:1.5}.verify-link{font:inherit;color:#c07a3d;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #c07a3d4d;padding:0;font-weight:600}.verify-link:hover{border-color:#c07a3d}.verify-link:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #c07a3d}@media (prefers-reduced-motion:reduce){.verify-status__dot{animation:none}}.verify-form{text-align:left;margin-top:var(--spacing-2)}.preparation-form{flex-direction:column;gap:1.25rem;display:flex}.form-group input,.form-group select,.form-group textarea{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;background-color:#f9fafb}.ingredients-list{flex-direction:column;gap:.75rem;display:flex}.ingredient-row{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:.5rem;display:grid}.ingredient-row input,.ingredient-row select{margin:0}.ingredient-name-wrapper{position:relative}.ingredient-input-linked{border-color:var(--color-accent-400)!important;background:var(--color-accent-50)!important;padding-right:2rem!important}.ingredient-linked-badge{background:var(--color-accent-500);color:#fff;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.ingredient-catalog-dropdown{background:var(--color-neutral-0);border:1.5px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.catalog-dropdown-item{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.catalog-dropdown-item:hover{background:var(--color-primary-50)}.catalog-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800)}.catalog-item-meta{font-size:var(--font-size-xs);color:var(--color-neutral-400);white-space:nowrap}.form-hint{font-size:var(--font-size-xs);color:var(--color-neutral-400);margin-top:2px}.catalog-dropdown-footer{background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-100);font-size:var(--font-size-xs);color:var(--color-neutral-400);font-weight:var(--font-weight-medium);align-items:center;gap:4px;padding:.4rem .75rem;display:flex}.catalog-hint{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-400);margin-left:.5rem}.btn-remove-ingredient{border:1.5px solid var(--color-neutral-200);width:38px;height:38px;color:var(--color-error-500);cursor:pointer;background:linear-gradient(160deg,#fff 0%,#fff8f9 100%);border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px -1px #4a3f3b0f,inset 0 1px 1px #ffffffe6}.btn-remove-ingredient:hover:not(:disabled){border-color:var(--color-error-400);background:linear-gradient(160deg,#fff0f2 0%,#ffe4e8 100%);transform:translateY(-1px);box-shadow:0 4px 10px -3px #c94a5a33,inset 0 1px 1px #fff}.btn-remove-ingredient:active:not(:disabled){transform:translateY(0)scale(.95)}.btn-remove-ingredient:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.btn-add-ingredient{border:2px dashed var(--color-neutral-300);color:var(--color-primary-600);font-family:var(--font-family-button);cursor:pointer;background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border-radius:12px;padding:.75rem 1.125rem;font-size:.875rem;font-weight:600;transition:transform .2s,background .2s,border-color .2s,color .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #fffc}.btn-add-ingredient:hover:not(:disabled){border-color:var(--color-primary-400);color:var(--color-primary-700);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px -4px #c07a3d33,inset 0 1px 2px #fff}.btn-add-ingredient:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-add-ingredient:disabled{opacity:.5;cursor:not-allowed}.form-group-checkbox{background-color:#f9fafb;border-radius:8px;align-items:center;padding:.75rem;display:flex}.form-group-checkbox label{cursor:pointer;align-items:center;gap:.75rem;margin:0;font-weight:400;display:flex}.form-group-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary-600)}.form-group-checkbox span{color:#374151;font-size:.95rem}.form-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem;font-size:.9rem}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}.btn-cancel,.btn-submit{font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;border:none;border-radius:12px;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s,border-color .2s;position:relative;overflow:hidden}.btn-cancel{color:var(--color-neutral-700);border:1.5px solid var(--color-neutral-300);background:linear-gradient(160deg,#fff 0%,#f8f4f0 100%);box-shadow:0 2px 6px -2px #4a3f3b14,inset 0 1px 1px #ffffffe6}.btn-cancel:hover:not(:disabled){border-color:var(--color-neutral-400);background:linear-gradient(160deg,#fff 0% 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #4a3f3b1f,inset 0 1px 1px #fff}.btn-cancel:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-submit{color:#fffbf7;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.btn-submit:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.btn-submit:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px -4px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.btn-submit:hover:not(:disabled):before{opacity:1}.btn-submit:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px -2px #c07a3d66,inset 0 2px 4px #6b3e1a33}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3);transform:none}.btn-cancel:focus-visible,.btn-submit:focus-visible{box-shadow:0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-primary-400);outline:none}@media (width<=640px){.ingredient-row{grid-template-columns:1fr}.btn-remove-ingredient{width:100%}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.preparations-page{max-width:1400px;padding-bottom:var(--spacing-16);margin:0 auto}.preparations-header{background:linear-gradient(135deg, var(--color-primary-50) 0%, var(--color-neutral-0) 100%);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.preparations-header .header-content{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6);display:flex}.preparations-header .header-title-group{gap:var(--spacing-1);flex-direction:column;display:flex}.preparations-header .header-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.1em}.preparations-header .header-title{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);letter-spacing:-.02em;margin:0;line-height:1.1}.preparations-header .header-subtitle{align-items:center;gap:var(--spacing-1);font-size:var(--font-size-base);color:var(--color-neutral-600);margin-top:var(--spacing-1);display:flex}.preparations-header .header-subtitle svg{color:var(--color-error-400)}.preparations-header .btn-create{align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.preparations-header .btn-create:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.preparations-header .btn-create svg{width:18px;height:18px;transition:transform .2s}.preparations-header .btn-create:hover{transform:translateY(-3px);box-shadow:0 10px 28px -6px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.preparations-header .btn-create:hover:before{opacity:1}.preparations-header .btn-create:hover svg{transform:scale(1.1)rotate(90deg)}.preparations-header .btn-create:active{transform:translateY(-1px);box-shadow:0 4px 12px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.search-filters-row{gap:var(--spacing-3);margin-bottom:var(--spacing-4);display:flex}.preparations-header .header-search{flex:1;position:relative}.preparations-header .search-icon{left:var(--spacing-4);color:var(--color-neutral-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.preparations-header .search-input{width:100%;padding:var(--spacing-3) var(--spacing-12);font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-neutral-800);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.preparations-header .search-input:focus{border-color:var(--color-primary-400);outline:none;box-shadow:0 0 0 4px #c07a3d26}.preparations-header .search-input::placeholder{color:var(--color-neutral-400)}.preparations-header .search-clear{right:var(--spacing-4);background:var(--color-neutral-100);border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-neutral-500);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.preparations-header .search-clear:hover{background:var(--color-neutral-200);color:var(--color-neutral-700)}.category-filters{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.category-chip{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);height:32px;font-family:var(--font-family-button);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);white-space:nowrap;cursor:pointer;align-items:center;gap:7px;padding:0 12px 0 10px;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.category-chip:hover{border-color:var(--color-primary-300);background:var(--color-primary-50);transform:translateY(-1px)}.category-chip:active{transform:translateY(0)}.category-chip:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.category-chip.active{background:var(--color-neutral-900);border-color:var(--color-neutral-900);color:#fffbf7}.category-chip.active:hover{background:var(--color-neutral-800);border-color:var(--color-neutral-800)}.chip-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chip-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;color:var(--color-neutral-500)}.category-chip.active .chip-count{color:var(--color-secondary-400)}.preparations-content{min-height:300px}.preparations-page .loading-state{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;display:flex}.preparations-page .loading-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preparations-page .loading-state p{color:var(--color-neutral-500);font-size:var(--font-size-sm)}.preparations-page .empty-state{padding:var(--spacing-16) var(--spacing-6);background:var(--color-neutral-0);border-radius:var(--radius-xl);text-align:center;border:2px dashed var(--color-neutral-200);flex-direction:column;justify-content:center;align-items:center;display:flex}.preparations-page .empty-icon{background:var(--color-primary-100);border-radius:var(--radius-full);width:80px;height:80px;color:var(--color-primary-500);margin-bottom:var(--spacing-4);justify-content:center;align-items:center;display:flex}.preparations-page .empty-state h3{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0 0 var(--spacing-2) 0}.preparations-page .empty-state p{font-size:var(--font-size-sm);color:var(--color-neutral-500);margin:0 0 var(--spacing-6) 0;max-width:320px}.preparations-page .empty-cta{align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:1rem 1.75rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 20px -4px #c07a3d80,0 3px 6px -2px #a8652f40,inset 0 1px 1px #ffffff26}.preparations-page .empty-cta:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.preparations-page .empty-cta svg{width:18px;height:18px;transition:transform .2s}.preparations-page .empty-cta:hover{transform:translateY(-3px);box-shadow:0 12px 32px -6px #c07a3d8c,0 6px 12px -4px #a8652f4d,inset 0 1px 1px #fff3}.preparations-page .empty-cta:hover:before{opacity:1}.preparations-page .empty-cta:hover svg{transform:scale(1.1)rotate(90deg)}.preparations-page .empty-cta:active{transform:translateY(-1px);box-shadow:0 4px 14px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.preparations-page .results-info{margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-0);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.preparations-page .results-info span{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.preparations-page .clear-filters{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-600);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;text-decoration:underline}.preparations-page .clear-filters:hover{color:var(--color-primary-700)}.prep-sections{gap:var(--spacing-6);flex-direction:column;display:flex}.prep-section-header{padding-bottom:var(--spacing-2);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--color-neutral-200);align-items:center;gap:10px;display:flex}.prep-section-swatch{border-radius:4px;flex-shrink:0;width:14px;height:14px}.prep-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0}.prep-section-count{font-size:var(--font-size-sm);color:var(--color-neutral-500)}.prep-section-grid{gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.prep-card{min-height:0;padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);background:var(--color-neutral-0);border:1px solid var(--color-neutral-100);cursor:pointer;animation:.4s both cardFadeIn;animation-delay:var(--delay,0s);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border-radius:16px;flex-direction:column;gap:6px;display:flex}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.prep-card:hover{background:var(--color-neutral-0);border-color:var(--color-primary-300);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.prep-card:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.prep-card-subcategory{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-neutral-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prep-card-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);line-height:var(--line-height-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.prep-card-meta{font-size:var(--font-size-sm);color:var(--color-neutral-600);align-items:center;gap:10px;margin-top:4px;display:flex}.prep-card-time{align-items:center;gap:4px;display:inline-flex}.prep-card-time svg{color:var(--color-neutral-400)}.prep-card-rest{font-size:var(--font-size-xs);color:var(--color-accent-600);background:var(--color-accent-50);border-radius:var(--radius-sm);padding:2px 6px}.prep-card-foot{justify-content:space-between;align-items:center;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px dashed var(--color-neutral-200);margin-top:auto;display:flex}.prep-card-ingredients{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.prep-card-cost{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:flex}.prep-card-cost.cost-partial{color:var(--color-warning-600)}.prep-card-cost.cost-none{font-weight:var(--font-weight-normal);color:var(--color-neutral-400)}.cost-approx{font-size:var(--font-size-xs);color:var(--color-warning-500);margin-left:2px}.preparation-details{gap:var(--spacing-5);flex-direction:column;display:flex}.preparation-details .detail-badges{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.preparation-details .detail-badge{padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;display:inline-flex}.preparation-details .badge-category{background:var(--color-primary-100);color:var(--color-primary-700)}.preparation-details .badge-subcategory{background:var(--color-neutral-100);color:var(--color-neutral-700)}.preparation-details .badge-public{background:var(--color-accent-100);color:var(--color-accent-700)}.preparation-details .badge-private{background:var(--color-neutral-200);color:var(--color-neutral-600)}.preparation-details .detail-time{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-neutral-700);display:flex}.preparation-details .detail-time svg{color:var(--color-neutral-500)}.preparation-details .rest-time{color:var(--color-accent-600);margin-left:var(--spacing-2)}.preparation-details .detail-section{gap:var(--spacing-3);flex-direction:column;display:flex}.preparation-details .detail-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200);margin:0}.preparation-details .ingredients-list{gap:var(--spacing-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.preparation-details .ingredient-item{align-items:baseline;gap:var(--spacing-2);padding:var(--spacing-2) 0;display:flex}.preparation-details .ingredient-name{font-weight:var(--font-weight-medium);color:var(--color-neutral-800)}.preparation-details .ingredient-dots{border-bottom:1px dotted var(--color-neutral-300);flex:1;margin-bottom:4px}.preparation-details .ingredient-quantity{font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);white-space:nowrap}.preparation-details .instructions-text{padding:var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-400)}.preparation-details .instructions-text p{margin:0 0 var(--spacing-2) 0;color:var(--color-neutral-700);line-height:var(--line-height-relaxed)}.preparation-details .instructions-text p:last-child{margin-bottom:0}.preparation-details .detail-actions{gap:var(--spacing-3);padding-top:var(--spacing-5);border-top:1px solid var(--color-neutral-200);display:flex}.preparation-details .btn-edit,.preparation-details .btn-delete{justify-content:center;align-items:center;gap:var(--spacing-2);font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;border-radius:12px;flex:1;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s,border-color .2s;display:inline-flex;position:relative;overflow:hidden}.preparation-details .btn-edit svg,.preparation-details .btn-delete svg{width:16px;height:16px;transition:transform .2s}.preparation-details .btn-edit:hover svg,.preparation-details .btn-delete:hover svg{transform:scale(1.1)}.preparation-details .btn-edit{color:var(--color-primary-700);border:1.5px solid var(--color-primary-300);background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);box-shadow:0 2px 6px -2px #c07a3d1a,inset 0 1px 1px #ffffffe6}.preparation-details .btn-edit:hover{border-color:var(--color-primary-500);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #c07a3d33,inset 0 1px 1px #fff}.preparation-details .btn-edit:active{transform:translateY(0)scale(.98)}.preparation-details .btn-delete{color:var(--color-error-600);border:1.5px solid var(--color-error-300);background:linear-gradient(160deg,#fff 0%,#fff8f9 100%);box-shadow:0 2px 6px -2px #c94a5a1a,inset 0 1px 1px #ffffffe6}.preparation-details .btn-delete:hover{border-color:var(--color-error-500);background:linear-gradient(160deg,#fff0f2 0%,#ffe4e8 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #c94a5a33,inset 0 1px 1px #fff}.preparation-details .btn-delete:active{transform:translateY(0)scale(.98)}@media (width<=768px){.preparations-page{padding-bottom:var(--spacing-12)}.preparations-header{padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.preparations-header .header-content{gap:var(--spacing-4);flex-direction:column}.preparations-header .header-title{font-size:var(--font-size-3xl)}.preparations-header .btn-create{justify-content:center;width:100%}.view-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.search-filters-row{flex-direction:column}.sort-select{flex:1}.category-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(-1 * var(--spacing-6));padding:0 var(--spacing-6) 4px;flex-wrap:nowrap;overflow-x:auto}.category-filters::-webkit-scrollbar{display:none}.prep-section-grid{grid-template-columns:1fr}.prep-card{padding:var(--spacing-4);min-height:0}.preparation-details .detail-actions{flex-direction:column}.preparation-details .btn-edit,.preparation-details .btn-delete{justify-content:center;width:100%}}@media (width<=480px){.preparations-header{padding:var(--spacing-5);border-radius:var(--radius-lg)}.preparations-header .header-title{font-size:var(--font-size-2xl)}.category-filters{margin:0 calc(-1 * var(--spacing-5));padding:0 var(--spacing-5) 4px}.view-tab{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.prep-card-title{font-size:var(--font-size-base)}}.cake-form{flex-direction:column;gap:1.25rem;display:flex}.cake-form-identity{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:1rem;display:grid}.cake-form-identity .form-group{margin:0}.cake-form-identity label{white-space:nowrap}@media (width<=640px){.cake-form-identity{grid-template-columns:1fr}}.label-optional{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-400)}.cake-form .form-group label.image-upload-zone{border:2px dashed var(--color-neutral-300);color:var(--color-neutral-500);cursor:pointer;text-align:center;background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1rem;transition:border-color .2s,background .2s,color .2s;display:flex}.image-upload-zone:hover{border-color:var(--color-primary-400);color:var(--color-primary-600);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%)}.image-upload-zone svg{flex-shrink:0}.image-upload-zone span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:block}.image-upload-hint{font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-normal)!important;color:var(--color-neutral-400)!important}.image-upload-preview{border:1px solid var(--color-neutral-200);border-radius:14px;position:relative;overflow:hidden}.image-preview-img{object-fit:cover;width:100%;height:180px;display:block}.btn-remove-image{-webkit-backdrop-filter:blur(6px);color:#ffffffe6;cursor:pointer;background:#0f0804b8;border:1px solid #ffffff26;border-radius:100px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.75rem;font-weight:600;transition:background .2s;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.btn-remove-image:hover:not(:disabled){background:#c94a5acc}.add-to-calendar-modal{flex-direction:column;gap:1.5rem;display:flex}.modal-error{color:#dc2626;background:#fee2e2;border-radius:8px;padding:.75rem 1rem;font-size:.875rem}.form-section{flex-direction:column;gap:.75rem;display:flex}.form-section h3{color:#2e1f1b;margin:0;font-size:1rem;font-weight:600}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:#4a3f3b;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{color:#2e1f1b;background:#fff;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary-500);outline:none}.no-cakes-hint{color:#4a3f3b;background:#f8f8f8;border-radius:8px;margin:0;padding:.75rem 1rem;font-size:.875rem}.form-group textarea{resize:vertical;min-height:60px}.notes-textarea{color:#2e1f1b;font-family:inherit;line-height:1.5;transition:background .2s;background:#f8f8f8!important;border:none!important;border-radius:12px!important;padding:1rem!important;font-size:.95rem!important}.notes-textarea:focus{outline:none;background:#f0f0f0!important}.notes-textarea::placeholder{color:#999;font-style:italic}.loading-timeline{text-align:center;color:#6b5e5a;background:#f8f8f8;border-radius:12px;padding:2rem}.no-timeline{text-align:center;color:#6b5e5a;background:#f8f8f8;border-radius:12px;padding:2rem;font-style:italic}.timeline-preview{background:#f8f8f8;border-radius:12px;padding:1rem}.timeline-preview h3{color:#2e1f1b;margin:0 0 1rem;font-size:1rem;font-weight:600}.warning-past{color:#b45309;background:#fef3c7;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.timeline-days{flex-direction:column;gap:1rem;display:flex}.timeline-day{background:#fff;border-radius:8px;overflow:hidden}.day-header{color:#2e1f1b;text-transform:capitalize;background:#efe6de;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.day-steps{padding:.5rem}.timeline-step{border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:1rem;padding:.75rem;display:flex}.timeline-step:last-child{border-bottom:none}.step-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.step-title{color:#2e1f1b;font-size:.9rem;font-weight:500}.step-duration{color:#6b5e5a;align-items:center;gap:.375rem;font-size:.8rem;display:flex}.rest-time{color:#c94a5a;font-style:italic}.timeline-summary{color:#4a3f3b;border-top:1px solid #e2d6cc;margin-top:1rem;padding-top:1rem;font-size:.875rem}.modal-actions{border-top:1px solid #efe6de;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.btn-cancel{color:#6b5e5a;cursor:pointer;background:0 0;border:1px solid #e2d6cc;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.btn-cancel:hover:not(:disabled){background:#f8f8f8}.btn-submit{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.btn-submit:hover:not(:disabled){opacity:.9}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.timeline-step{flex-direction:column;gap:.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.pdf-overlay{-webkit-backdrop-filter:blur(6px);z-index:1060;background:#2e1f1b8c;justify-content:center;align-items:center;padding:1rem;animation:.2s both pdfOverlayIn;display:flex;position:fixed;inset:0}@keyframes pdfOverlayIn{0%{opacity:0}to{opacity:1}}.pdf-modal{background:#fffbf7;border-radius:24px;width:100%;max-width:480px;animation:.28s cubic-bezier(.34,1.56,.64,1) both pdfModalIn;position:relative;overflow:hidden;box-shadow:0 32px 64px -12px #2e1f1b38,0 8px 24px -4px #2e1f1b1f}.pdf-modal--preview{flex-direction:column;max-width:720px;height:90vh;display:flex;overflow:hidden}@keyframes pdfModalIn{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.pdf-close{color:#8c7f74;cursor:pointer;z-index:2;background:#fffbf7e6;border:1px solid #e2d6cc80;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .18s;display:flex;position:absolute;top:1rem;right:1rem}.pdf-close:hover{color:#2e1f1b;background:#efe6de;transform:scale(1.05)}.pdf-close--inline{position:static}.pdf-step--quantity{text-align:center;flex-direction:column;align-items:center;gap:0;padding:2.5rem 2rem 2rem;display:flex}.pdf-icon-wrap{color:#c07a3d;background:linear-gradient(135deg,#f5ebe0 0%,#e8d4bc 100%);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;display:flex;box-shadow:0 4px 12px -3px #c07a3d33,inset 0 1px 1px #fffc}.pdf-title{color:#2e1f1b;letter-spacing:-.02em;margin:0 0 .375rem;font-family:Playfair Display,Georgia,serif;font-size:1.625rem;font-weight:700}.pdf-subtitle{color:#c07a3d;margin:0 0 1rem;font-family:Playfair Display,Georgia,serif;font-size:1rem;font-style:italic}.pdf-desc{color:#6b5e5a;max-width:320px;margin:0 0 1.75rem;font-family:DM Sans,sans-serif;font-size:.9rem;line-height:1.65}.pdf-stepper{background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border:1.5px solid #e2d6cc;border-radius:18px;align-items:center;gap:0;margin-bottom:1.75rem;padding:6px;display:flex;box-shadow:0 2px 8px -3px #2e1f1b14,inset 0 1px 1px #ffffffe6}.pdf-stepper-btn{color:#6b5e5a;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .18s;display:flex}.pdf-stepper-btn:hover:not(:disabled){color:#c07a3d;background:#f5ebe0}.pdf-stepper-btn:active:not(:disabled){transform:scale(.93)}.pdf-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-stepper-value{flex-direction:column;align-items:center;min-width:100px;padding:0 1rem;display:flex}.pdf-qty-input{text-align:center;color:#2e1f1b;letter-spacing:-.03em;-moz-appearance:textfield;background:0 0;border:none;outline:none;width:80px;font-family:Playfair Display,Georgia,serif;font-size:2.25rem;font-weight:700}.pdf-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdf-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdf-qty-label{color:#b8aca1;text-transform:uppercase;letter-spacing:.08em;margin-top:-2px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600}.pdf-error{color:#c94a5a;background:#fdf5f6;border:1px solid #fae5e8;border-radius:10px;width:100%;max-width:340px;margin-bottom:1rem;padding:.625rem 1rem;font-family:DM Sans,sans-serif;font-size:.85rem}.pdf-actions{gap:.75rem;width:100%;max-width:340px;display:flex}.pdf-btn-cancel{color:#6b5e5a;cursor:pointer;background:linear-gradient(160deg,#fff 0%,#f8f4f0 100%);border:1.5px solid #d5c9be;border-radius:12px;flex:1;padding:.875rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 2px 6px -2px #4a3f3b14}.pdf-btn-cancel:hover{border-color:#b8aca1;transform:translateY(-1px)}.pdf-btn-cancel:active{transform:translateY(0)scale(.98)}.pdf-btn-generate{color:#fffbf7;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:12px;flex:2;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:all .28s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.pdf-btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px -6px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.pdf-btn-generate:disabled{opacity:.7;cursor:not-allowed;transform:none}.pdf-spinner{border:2px solid #fffbf766;border-top-color:#fffbf7;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.pdf-step--preview{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pdf-toolbar{background:#fffbf7;border-bottom:1px solid #efe6de;flex-shrink:0;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.pdf-toolbar-back{color:#8c7f74;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.375rem .625rem;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex}.pdf-toolbar-back:hover{color:#2e1f1b;background:#efe6de}.pdf-toolbar-right{align-items:center;gap:.75rem;display:flex}.pdf-toolbar-qty{color:#c07a3d;background:#f5ebe0;border-radius:20px;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600}.pdf-btn-print{color:#fffbf7;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 3px 10px -3px #c07a3d73,inset 0 1px 1px #ffffff26}.pdf-btn-print:hover{transform:translateY(-1px);box-shadow:0 6px 16px -4px #c07a3d80,inset 0 1px 1px #fff3}.pdf-btn-print:active{transform:scale(.97)}.pdf-document{scrollbar-width:thin;scrollbar-color:#e2d6cc #fffbf7;background:#fffbf7;flex:1;padding:2rem 2.5rem 2.5rem;overflow-y:auto}.pdf-document::-webkit-scrollbar{width:6px}.pdf-document::-webkit-scrollbar-track{background:#fffbf7}.pdf-document::-webkit-scrollbar-thumb{background:#e2d6cc;border-radius:3px}.pdf-doc-header{margin-bottom:1.5rem}.pdf-doc-bakery{color:#c07a3d;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700}.pdf-doc-title{color:#2e1f1b;letter-spacing:-.02em;margin:0 0 .875rem;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700;line-height:1.2}.pdf-doc-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pdf-doc-quantity-badge{color:#a8652f;letter-spacing:.01em;background:linear-gradient(135deg,#f5ebe0 0%,#e8d4bc 100%);border-radius:20px;align-items:center;gap:.25rem;padding:5px 12px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:700;display:inline-flex}.pdf-doc-date{color:#b8aca1;font-family:DM Sans,sans-serif;font-size:.8rem}.pdf-doc-divider{background:linear-gradient(90deg,#c07a3d 0%,#e8d4bc 60%,#0000 100%);border-radius:1px;height:2px;margin-top:1.25rem}.pdf-doc-summary{gap:1.5rem;margin-bottom:1.5rem;display:flex}.pdf-summary-item{color:#6b5e5a;align-items:center;gap:.4rem;font-family:DM Sans,sans-serif;font-size:.825rem;display:inline-flex}.pdf-summary-item svg{color:#b8aca1}.pdf-doc-preparations{flex-direction:column;gap:1.5rem;display:flex}.pdf-prep-section{break-inside:avoid}.pdf-prep-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.pdf-prep-number{color:#fffbf7;background:linear-gradient(135deg,#c07a3d 0%,#a8652f 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 2px 6px -2px #c07a3d66}.pdf-prep-title{color:#2e1f1b;letter-spacing:-.01em;margin:0;font-family:Playfair Display,Georgia,serif;font-size:1.15rem;font-weight:600}.pdf-no-ingredients{color:#b8aca1;padding:.5rem 0 .5rem 2.75rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-style:italic}.pdf-ingredients-table{border-collapse:collapse;width:calc(100% - 2.75rem);margin-left:2.75rem}.pdf-ingredients-table th{color:#b8aca1;text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1.5px solid #efe6de;padding:.375rem .75rem;font-family:DM Sans,sans-serif;font-size:.7rem;font-weight:700}.pdf-th-qty,.pdf-th-unit{text-align:right;white-space:nowrap}.pdf-th-unit{padding-right:.25rem}.pdf-ingredients-table td{color:#2e1f1b;border-bottom:1px solid #0000;padding:.5rem .75rem;font-family:DM Sans,sans-serif;font-size:.9rem}.pdf-row-even td{background:#f6efea80}.pdf-row-odd td{background:0 0}.pdf-row-even td:first-child{border-radius:6px 0 0 6px}.pdf-row-even td:last-child{border-radius:0 6px 6px 0}.pdf-td-name{color:#2e1f1b;font-weight:500}.pdf-td-qty{text-align:right;white-space:nowrap}.pdf-td-unit{text-align:right;color:#8c7f74;padding-right:.25rem;font-size:.85rem}.pdf-qty-scaled{color:#c07a3d;font-size:.95rem;font-weight:700}.pdf-qty-base{color:#b8aca1;margin-left:.4rem;font-size:.75rem;display:inline-block}.pdf-doc-footer{margin-top:2rem}.pdf-footer-line{background:#efe6de;height:1px;margin-bottom:.75rem}.pdf-footer-text{color:#b8aca1;text-align:center;margin:0;font-family:DM Sans,sans-serif;font-size:.75rem}@media (width<=640px){.pdf-overlay{align-items:flex-end;padding:0}.pdf-modal{border-radius:24px 24px 0 0;max-width:100%}.pdf-modal--preview{border-radius:24px 24px 0 0;max-height:92vh}.pdf-step--quantity{padding:2rem 1.5rem 1.5rem}.pdf-actions{max-width:100%}.pdf-document{padding:1.5rem}.pdf-ingredients-table{width:100%;margin-left:0}.pdf-toolbar{flex-wrap:wrap;gap:.5rem}.pdf-toolbar-right{gap:.5rem}}.cakes-page{max-width:1400px;padding-bottom:var(--spacing-16);margin:0 auto}.cakes-not-logged{text-align:center;padding:var(--spacing-16) var(--spacing-8);background:var(--color-neutral-0);border-radius:var(--radius-xl);margin-top:var(--spacing-8)}.cakes-not-logged .not-logged-icon{width:80px;height:80px;margin:0 auto var(--spacing-6);background:linear-gradient(135deg, var(--color-accent-100) 0%, var(--color-accent-50) 100%);border-radius:var(--radius-full);color:var(--color-accent-600);justify-content:center;align-items:center;display:flex}.cakes-not-logged h2{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);color:var(--color-neutral-900);margin-bottom:var(--spacing-3)}.cakes-not-logged p{color:var(--color-neutral-600);max-width:400px;margin:0 auto var(--spacing-8);line-height:var(--line-height-relaxed)}.not-logged-actions{gap:var(--spacing-4);flex-wrap:wrap;justify-content:center;display:flex}.cakes-header{background:linear-gradient(135deg, var(--color-accent-50) 0%, var(--color-neutral-0) 100%);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.cakes-header .header-content{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6);display:flex}.cakes-header .header-title-group{gap:var(--spacing-1);flex-direction:column;display:flex}.cakes-header .header-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-600);text-transform:uppercase;letter-spacing:.1em}.cakes-header .header-title{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);letter-spacing:-.02em;margin:0;line-height:1.1}.cakes-header .header-subtitle{align-items:center;gap:var(--spacing-1);font-size:var(--font-size-base);color:var(--color-neutral-600);margin-top:var(--spacing-1);display:flex}.cakes-header .header-subtitle svg{color:var(--color-error-400)}.cakes-header .btn-create{align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.cakes-header .btn-create:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.cakes-header .btn-create svg{width:18px;height:18px;transition:transform .2s}.cakes-header .btn-create:hover{transform:translateY(-3px);box-shadow:0 10px 28px -6px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.cakes-header .btn-create:hover:before{opacity:1}.cakes-header .btn-create:hover svg{transform:scale(1.1)rotate(90deg)}.cakes-header .btn-create:active{transform:translateY(-1px);box-shadow:0 4px 12px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.view-tabs{margin-bottom:var(--spacing-5);background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border:1px solid #d5c9be4d;border-radius:16px;gap:6px;padding:6px;display:flex;overflow-x:auto;box-shadow:inset 0 1px 3px #4a3f3b0f,0 1px 2px #fffc}.view-tab{align-items:center;gap:var(--spacing-2);font-family:var(--font-family-button);color:var(--color-neutral-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:transform .2s,color .2s,background .2s;display:flex;position:relative}.view-tab svg{width:16px;height:16px;transition:transform .2s}.view-tab:hover{color:var(--color-neutral-800);background:#f6efeacc}.view-tab:hover svg{transform:scale(1.1)}.view-tab.active{color:#fffbf7;text-shadow:0 1px 2px #6b3e1a40;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);box-shadow:0 3px 10px -3px #c07a3d66,inset 0 1px 1px #ffffff26}.view-tab.active svg{color:#fffbf7}.view-tab:active{transform:scale(.97)}.tab-count{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;background:#ffffff40;padding:3px 10px;font-size:.75rem;font-weight:700}.view-tab:not(.active) .tab-count{background:var(--color-neutral-100);color:var(--color-neutral-600)}.search-filters-row{gap:var(--spacing-3);display:flex}.cakes-header .header-search{flex:1;position:relative}.cakes-header .search-icon{left:var(--spacing-4);color:var(--color-neutral-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cakes-header .search-input{width:100%;padding:var(--spacing-3) var(--spacing-12);font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-neutral-800);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.cakes-header .search-input:focus{border-color:var(--color-accent-400);outline:none;box-shadow:0 0 0 4px #7fa38d26}.cakes-header .search-input::placeholder{color:var(--color-neutral-400)}.cakes-header .search-clear{right:var(--spacing-4);background:var(--color-neutral-100);border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-neutral-500);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.cakes-header .search-clear:hover{background:var(--color-neutral-200);color:var(--color-neutral-700)}.sort-select{border:1.5px solid var(--color-neutral-200);font-family:var(--font-family-button);color:var(--color-neutral-700);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B5E5A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center no-repeat;border-radius:12px;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;font-weight:500;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 2px 6px -2px #4a3f3b14,inset 0 1px 1px #ffffffe6}.sort-select:hover{border-color:var(--color-neutral-300);transform:translateY(-1px);box-shadow:0 4px 10px -3px #4a3f3b1f,inset 0 1px 1px #fff}.sort-select:focus{border-color:var(--color-accent-400);box-shadow:0 0 0 3px var(--color-neutral-0), 0 0 0 5px #7fa38d33;outline:none}.cakes-content{min-height:300px}.cakes-page .loading-state{padding:var(--spacing-16);justify-content:center;align-items:center;gap:var(--spacing-4);flex-direction:column;display:flex}.cakes-page .loading-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-accent-500);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.cakes-page .loading-state p{color:var(--color-neutral-500);font-size:var(--font-size-sm)}.cakes-page .empty-state{padding:var(--spacing-16) var(--spacing-6);background:var(--color-neutral-0);border-radius:var(--radius-xl);text-align:center;border:2px dashed var(--color-neutral-200);flex-direction:column;justify-content:center;align-items:center;display:flex}.cakes-page .empty-icon{background:var(--color-accent-100);border-radius:var(--radius-full);width:80px;height:80px;color:var(--color-accent-500);margin-bottom:var(--spacing-4);justify-content:center;align-items:center;display:flex}.cakes-page .empty-state h3{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0 0 var(--spacing-2) 0}.cakes-page .empty-state p{font-size:var(--font-size-sm);color:var(--color-neutral-500);margin:0 0 var(--spacing-6) 0;max-width:320px}.cakes-page .empty-cta{align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:1rem 1.75rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 6px 20px -4px #c07a3d80,0 3px 6px -2px #a8652f40,inset 0 1px 1px #ffffff26}.cakes-page .empty-cta:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.cakes-page .empty-cta svg{width:18px;height:18px;transition:transform .2s}.cakes-page .empty-cta:hover{transform:translateY(-3px);box-shadow:0 12px 32px -6px #c07a3d8c,0 6px 12px -4px #a8652f4d,inset 0 1px 1px #fff3}.cakes-page .empty-cta:hover:before{opacity:1}.cakes-page .empty-cta:hover svg{transform:scale(1.1)rotate(90deg)}.cakes-page .empty-cta:active{transform:translateY(-1px);box-shadow:0 4px 14px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.cakes-page .results-info{margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-0);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.cakes-page .results-info span{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.cakes-page .clear-filters{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent-600);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;text-decoration:underline}.cakes-page .clear-filters:hover{color:var(--color-accent-700)}.cakes-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.25rem;display:grid}.cake-card{background:var(--color-neutral-0);border:1px solid var(--color-primary-200);border-radius:var(--radius-xl);cursor:pointer;min-height:0;animation:.4s both cardFadeIn;animation-delay:var(--delay,0s);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;gap:0;padding:0;display:flex;position:relative;overflow:hidden}.cake-card:hover{background:var(--color-neutral-0);border-color:var(--color-primary-400);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.cake-card:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.cake-card-cut{min-height:168px;padding:var(--spacing-2) var(--spacing-4) 0;background:var(--color-primary-50);justify-content:center;align-items:flex-end;display:flex}.cake-card-cut .cle-preview{max-width:none}.cake-card-cut .cle-preview-empty{padding:var(--spacing-6) var(--spacing-4) var(--spacing-4)}.cake-card-media{background:var(--color-neutral-200);height:168px;position:relative;overflow:hidden}.cake-card-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.cake-card:hover .cake-card-img{transform:scale(1.03)}.cake-card-badge{border-radius:var(--radius-full);color:#fffbf7;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(4px);background:#2e1f1b8c;align-items:center;gap:4px;padding:3px 8px;display:inline-flex;position:absolute;top:12px;left:12px}.cake-card-body{gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-5) var(--spacing-3);flex-direction:column;display:flex}.cake-card-title{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);line-height:var(--line-height-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.cake-card-meta{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.cake-card-foot{justify-content:space-between;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-100);flex-wrap:wrap;margin-top:auto;display:flex}.cake-card-cost{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);font-variant-numeric:tabular-nums}.cake-card-cost small{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-500)}.cake-card-price{font-size:var(--font-size-sm);color:var(--color-neutral-700);font-variant-numeric:tabular-nums}.cake-card-muted{font-size:var(--font-size-xs);color:var(--color-neutral-400)}.cake-card-pricing{align-items:center;gap:var(--spacing-2);display:flex}.cake-card-margin{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;border-radius:var(--radius-full);padding:2px 8px}.cake-card-margin.margin-positive{color:var(--color-success-700);background:var(--color-success-100)}.cake-card-margin.margin-negative{color:var(--color-error-700);background:var(--color-error-100)}.cake-details{gap:var(--spacing-5);flex-direction:column;display:flex}.detail-photo-banner{border-radius:12px;margin:-.25rem 0 0;overflow:hidden}.detail-photo-img{object-fit:cover;width:100%;height:220px;display:block}.detail-author{align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-lg);display:flex}.author-avatar{background:var(--gradient-primary);width:44px;height:44px;color:var(--color-neutral-0);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.author-info{flex-direction:column;flex:1;display:flex}.author-name{font-weight:var(--font-weight-semibold);color:var(--color-neutral-800)}.author-date{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.owner-badge{padding:var(--spacing-1) var(--spacing-3);background:var(--color-accent-100);color:var(--color-accent-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full)}.cake-details .detail-badges{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.cake-details .detail-badge{align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);display:inline-flex}.cake-details .badge-layers{background:var(--color-accent-100);color:var(--color-accent-700)}.cake-details .badge-public{background:var(--color-primary-100);color:var(--color-primary-700)}.cake-details .badge-private{background:var(--color-neutral-200);color:var(--color-neutral-600)}.cake-details .badge-likes{background:var(--color-error-50);color:var(--color-error-600)}.cake-details .detail-section{gap:var(--spacing-3);flex-direction:column;display:flex}.cake-details .detail-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200);margin:0}.layers-stack{gap:var(--spacing-2);flex-direction:column;display:flex}.layer-item{align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);transition:all var(--transition-fast);animation:.3s both layerSlideIn;animation-delay:calc(var(--layer-index,0) * 50ms);display:flex}@keyframes layerSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.layer-item:hover{background:var(--color-neutral-100)}.layer-item-clickable{cursor:pointer}.layer-item-clickable:hover{background:var(--color-primary-50);border-left:3px solid var(--color-primary-400);padding-left:calc(var(--spacing-4) - 3px)}.layer-item-clickable:hover .layer-title{color:var(--color-primary-700)}.layer-item-clickable:hover .layer-arrow{color:var(--color-primary-500)}.cake-details .badge-shape{background:var(--color-neutral-100);color:var(--color-neutral-700)}.detail-cut{background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-2);margin-bottom:var(--spacing-3)}.layer-swatch{border:1px solid;border-radius:3px;flex-shrink:0;width:14px;height:24px}.layer-subtitle{font-size:var(--font-size-xs);color:var(--color-neutral-500);display:block}.layer-number{background:var(--color-accent-100);width:28px;height:28px;color:var(--color-accent-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.layer-info{flex:1;min-width:0}.layer-title{font-weight:var(--font-weight-medium);color:var(--color-neutral-800);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.layer-arrow{color:var(--color-neutral-400);flex-shrink:0}.detail-export-cta{border-color:var(--color-primary-200);background:linear-gradient(135deg,#fcf8f4 0%,#f5ebe0 100%)}.detail-export-cta .plan-cta-content{color:var(--color-primary-600)}.btn-pdf-export{color:var(--color-primary-700);border:1.5px solid var(--color-primary-300);font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,background .2s,border-color .2s;box-shadow:0 2px 8px -2px #c07a3d26,inset 0 1px 1px #ffffffe6}.btn-pdf-export:hover{border-color:var(--color-primary-500);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);transform:translateY(-2px);box-shadow:0 6px 18px -4px #c07a3d40,inset 0 1px 1px #fff}.btn-pdf-export:active{transform:translateY(0)scale(.98)}.detail-plan-cta{justify-content:space-between;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:linear-gradient(135deg, var(--color-accent-50) 0%, var(--color-neutral-50) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-accent-200);display:flex}.plan-cta-content{align-items:center;gap:var(--spacing-3);color:var(--color-accent-600);display:flex}.plan-cta-content>div{flex-direction:column;gap:2px;display:flex}.plan-cta-title{font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);font-size:var(--font-size-sm)}.plan-cta-desc{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.btn-plan-main{color:#fafdfb;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #373f3940;background:linear-gradient(160deg,#8fb89d 0%,#7fa38d 40%,#6d8a78 100%);border:none;border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);box-shadow:0 4px 12px -3px #7fa38d73,0 2px 4px -1px #6d8a7840,inset 0 1px 1px #fff3}.btn-plan-main:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #7fa38d80,0 4px 8px -2px #6d8a784d,inset 0 1px 1px #ffffff40}.btn-plan-main:active{transform:translateY(0);box-shadow:0 2px 8px -2px #7fa38d66,inset 0 2px 4px #49584e33}.cake-details .detail-actions{gap:var(--spacing-3);padding-top:var(--spacing-5);border-top:1px solid var(--color-neutral-200);display:flex}.cake-details .btn-edit,.cake-details .btn-delete{justify-content:center;align-items:center;gap:var(--spacing-2);font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;border-radius:12px;flex:1;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s,border-color .2s;display:inline-flex;position:relative;overflow:hidden}.cake-details .btn-edit svg,.cake-details .btn-delete svg{width:16px;height:16px;transition:transform .2s}.cake-details .btn-edit:hover svg,.cake-details .btn-delete:hover svg{transform:scale(1.1)}.cake-details .btn-edit{color:var(--color-primary-700);border:1.5px solid var(--color-primary-300);background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);box-shadow:0 2px 6px -2px #c07a3d1a,inset 0 1px 1px #ffffffe6}.cake-details .btn-edit:hover{border-color:var(--color-primary-500);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #c07a3d33,inset 0 1px 1px #fff}.cake-details .btn-edit:active{transform:translateY(0)scale(.98)}.cake-details .btn-delete{color:var(--color-error-600);border:1.5px solid var(--color-error-300);background:linear-gradient(160deg,#fff 0%,#fff8f9 100%);box-shadow:0 2px 6px -2px #c94a5a1a,inset 0 1px 1px #ffffffe6}.cake-details .btn-delete:hover{border-color:var(--color-error-500);background:linear-gradient(160deg,#fff0f2 0%,#ffe4e8 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #c94a5a33,inset 0 1px 1px #fff}.cake-details .btn-delete:active{transform:translateY(0)scale(.98)}.cakes-page .btn-primary{justify-content:center;align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.cakes-page .btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 28px -6px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.cakes-page .btn-primary:active{transform:translateY(-1px)}.cakes-page .btn-secondary{justify-content:center;align-items:center;gap:var(--spacing-2);color:var(--color-neutral-700);border:1.5px solid var(--color-neutral-300);font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;background:linear-gradient(160deg,#fff 0%,#f8f4f0 100%);border-radius:14px;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s,border-color .2s;display:inline-flex;box-shadow:0 2px 6px -2px #4a3f3b14,inset 0 1px 1px #ffffffe6}.cakes-page .btn-secondary:hover{border-color:var(--color-neutral-400);background:linear-gradient(160deg,#fff 0% 100%);transform:translateY(-2px);box-shadow:0 5px 14px -3px #4a3f3b1f,inset 0 1px 1px #fff}.cakes-page .btn-secondary:active{transform:translateY(0)scale(.98)}@media (width<=768px){.cakes-page{padding-bottom:var(--spacing-12)}.cakes-header{padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.cakes-header .header-content{gap:var(--spacing-4);flex-direction:column}.cakes-header .header-title{font-size:var(--font-size-3xl)}.cakes-header .btn-create{justify-content:center;width:100%}.view-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.search-filters-row{flex-direction:column}.sort-select{width:100%}.cake-details .detail-actions{flex-direction:column}.cake-details .btn-edit,.cake-details .btn-delete{justify-content:center;width:100%}.detail-plan-cta{text-align:center;flex-direction:column}.plan-cta-content{flex-direction:column}.btn-plan-main{width:100%}.not-logged-actions{flex-direction:column;width:100%}.not-logged-actions a{width:100%}}.pricing-rows{background:var(--color-neutral-50);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.pricing-row{padding:var(--spacing-3) var(--spacing-4);justify-content:space-between;align-items:center;display:flex}.pricing-row+.pricing-row{border-top:1px solid var(--color-neutral-100)}.pricing-label{font-size:var(--font-size-sm);color:var(--color-neutral-500)}.pricing-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-neutral-700);align-items:center;gap:var(--spacing-2);display:inline-flex}.pricing-row-total .pricing-label{font-weight:var(--font-weight-semibold);color:var(--color-neutral-700)}.pricing-value.margin-positive{color:var(--color-success-700)}.pricing-value.margin-negative{color:var(--color-error-700)}.pricing-coefficient{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-500);background:var(--color-neutral-100);border-radius:var(--radius-full);padding:1px 6px}@media (width<=480px){.cakes-header{padding:var(--spacing-5);border-radius:var(--radius-lg)}.cakes-header .header-title{font-size:var(--font-size-2xl)}.view-tab{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.cake-card-title{font-size:var(--font-size-base)}.cake-card-body,.cake-card-foot{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}}.pricing-page{flex-direction:column;gap:2.5rem;max-width:1060px;margin:0 auto;padding:3rem 2rem 4rem;display:flex}.pricing-notice{color:#444;letter-spacing:.01em;background:#f8f8f8;border-radius:999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.45rem 1rem;font-size:.85rem;display:inline-flex}.pricing-notice--urgent{color:#c0392b;background:#fff3f3}.notice-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:6px;height:6px}.notice-dot--red{background:#c0392b}.pricing-header{flex-direction:column;gap:.5rem;display:flex}.pricing-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#aaa;font-size:.7rem;font-weight:700}.pricing-title{letter-spacing:-.03em;color:#111;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.1}.pricing-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:1rem;max-width:720px;margin:0 auto;display:grid}.plan-card{background:#f8f8f8;border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex;position:relative}.plan-card:hover{background:#f2f2f2}.plan-card--featured{color:#fff;background:#111;padding:2rem 1.75rem}.plan-card--featured:hover{background:#1a1a1a}.plan-card--current{outline-offset:-2px;outline:2px solid #111}.plan-card--featured.plan-card--current{outline-color:#ffffff4d}.plan-card__title-row{align-items:center;gap:.625rem;margin-bottom:1rem;display:flex}.plan-card__name{letter-spacing:-.01em;color:inherit;margin:0;font-size:1rem;font-weight:600}.plan-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.2rem .55rem;font-size:.65rem;font-weight:700}.plan-badge--featured{color:#ffffffe6;background:#ffffff26}.plan-badge--current,.plan-card:not(.plan-card--featured) .plan-badge--current{color:#fff;background:#111}.plan-card__price-row{align-items:flex-end;gap:.125rem;line-height:1;display:flex}.plan-card__amount{letter-spacing:-.05em;color:inherit;font-size:3.5rem;font-weight:700;line-height:1}.plan-card__price-meta{flex-direction:column;padding-bottom:.3rem;display:flex}.plan-card__currency{color:inherit;opacity:.9;font-size:1.125rem;font-weight:600}.plan-card__period{color:inherit;opacity:.45;letter-spacing:.02em;font-size:.75rem}.plan-card__seats{color:inherit;opacity:.5;letter-spacing:.01em;margin:.375rem 0 0;font-size:.8rem}.plan-card__rule{opacity:.08;background:currentColor;height:1px}.plan-card__features{flex-direction:column;flex:1;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.plan-card__features li{color:inherit;opacity:.75;gap:.625rem;font-size:.85rem;line-height:1.4;display:flex}.plan-card--featured .plan-card__features li{opacity:.8}.plan-card__check{opacity:.35;flex-shrink:0;margin-top:.05em;font-size:.75rem}.plan-card__cta{letter-spacing:-.01em;cursor:pointer;color:#fff;background:#111;border:none;border-radius:12px;width:100%;margin-top:.25rem;padding:.8rem 1rem;font-size:.875rem;font-weight:600}.plan-card__cta:hover:not(.plan-card__cta--disabled){background:#333}.plan-card--featured .plan-card__cta{color:#111;background:#fff}.plan-card--featured .plan-card__cta:hover:not(.plan-card__cta--disabled){background:#f0f0f0}.plan-card__cta--disabled{color:#aaa;cursor:default;background:#e8e8e8}.plan-card--featured .plan-card__cta--disabled{color:#ffffff59;background:#ffffff1f}.pricing-error{color:#c0392b;background:#fff3f3;border-radius:12px;padding:.875rem 1.125rem;font-size:.875rem;font-weight:500}.pricing-footnote{color:#aaa;text-align:center;margin:0;font-size:.8rem}.pricing-link{font-size:inherit;color:#555;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.pricing-link:hover{color:#111}@media (width<=820px){.pricing-grid{grid-template-columns:1fr;max-width:400px}.plan-card--featured{order:-1}}.invite-page{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.invite-card{background:#fff;border-radius:24px;flex-direction:column;gap:2rem;width:100%;max-width:400px;padding:2.5rem;display:flex}.invite-brand{letter-spacing:.12em;text-transform:uppercase;color:#ccc;text-align:center;font-size:.7rem;font-weight:700}.invite-loading{justify-content:center;padding:2rem 0;display:flex}.invite-spinner{border:2.5px solid #e8e8e8;border-top-color:#111;border-radius:50%;width:28px;height:28px;animation:.7s linear infinite inv-spin}@keyframes inv-spin{to{transform:rotate(360deg)}}.invite-content{flex-direction:column;gap:1rem;display:flex}.invite-org-pill{letter-spacing:.08em;text-transform:uppercase;color:#555;background:#f0f0f0;border-radius:999px;align-self:flex-start;padding:.3rem .75rem;font-size:.7rem;font-weight:700}.invite-state-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.25rem;font-weight:700;line-height:1;display:flex}.invite-state-icon--ok{color:#16a34a;background:#f0fdf4}.invite-state-icon--warn{color:#888;background:#f8f8f8}.invite-heading{letter-spacing:-.03em;color:#111;margin:0;font-size:1.625rem;font-weight:600;line-height:1.2}.invite-body{color:#666;margin:0;font-size:.9rem;line-height:1.55}.invite-body strong{color:#111;font-weight:600}.invite-sub{color:#aaa;margin:0;font-size:.8rem;line-height:1.5}.invite-cta{color:#fff;letter-spacing:-.01em;cursor:pointer;background:#111;border:none;border-radius:14px;width:100%;margin-top:.25rem;padding:.9rem 1.5rem;font-size:.925rem;font-weight:600}.invite-cta:hover:not(:disabled){background:#333}.invite-cta:disabled{cursor:default;background:#ccc}.invite-cta--ghost{color:#444;background:#f8f8f8}.invite-cta--ghost:hover{background:#f0f0f0}.invite-connected-as{color:#bbb;text-align:center;margin:0;font-size:.75rem}.invite-connected-as strong{color:#888}@media (width<=440px){.invite-card{border-radius:20px;padding:2rem 1.5rem}}:root{--color-primary-50:#fcf8f4;--color-primary-100:#f5ebe0;--color-primary-200:#e8d4bc;--color-primary-300:#dbbd98;--color-primary-400:#ce9b61;--color-primary-500:#c07a3d;--color-primary-600:#c07a3d;--color-primary-700:#a8652f;--color-primary-800:#8f5426;--color-primary-900:#6b3e1a;--gradient-primary:linear-gradient(135deg, #c07a3d 0%, #a8652f 100%);--gradient-primary-hover:linear-gradient(135deg, #ce9b61 0%, #c07a3d 100%);--gradient-primary-soft:linear-gradient(135deg, #c07a3d1a 0%, #a8652f1a 100%);--color-secondary-50:#f9f6f3;--color-secondary-100:#f6efea;--color-secondary-200:#e9ded3;--color-secondary-300:#dccebb;--color-secondary-400:#cfbda4;--color-secondary-500:#b8a08a;--color-secondary-600:#a18971;--color-secondary-700:#8a7258;--color-secondary-800:#6b5e5a;--color-secondary-900:#4a3f3b;--gradient-secondary:linear-gradient(135deg, #f6efea 0%, #cfbda4 100%);--color-accent-50:#f4f7f5;--color-accent-100:#e5ede8;--color-accent-200:#c9d9cf;--color-accent-300:#adc5b6;--color-accent-400:#91b19d;--color-accent-500:#7fa38d;--color-accent-600:#6d8a78;--color-accent-700:#5b7163;--color-accent-800:#49584e;--color-accent-900:#373f39;--gradient-accent:linear-gradient(135deg, #7fa38d 0%, #6d8a78 100%);--color-neutral-0:#fff;--color-neutral-50:#f6efea;--color-neutral-100:#efe6de;--color-neutral-200:#e2d6cc;--color-neutral-300:#d5c9be;--color-neutral-400:#b8aca1;--color-neutral-500:#8c7f74;--color-neutral-600:#6b5e5a;--color-neutral-700:#4a3f3b;--color-neutral-800:#2e1f1b;--color-neutral-900:#2e1f1b;--color-success-50:#f4f7f5;--color-success-100:#e5ede8;--color-success-500:#7fa38d;--color-success-600:#6d8a78;--color-success-700:#5b7163;--color-warning-50:#fcf8f4;--color-warning-100:#f5ebe0;--color-warning-500:#ce9b61;--color-warning-600:#c07a3d;--color-warning-700:#a8652f;--color-error-50:#fdf5f6;--color-error-100:#fae5e8;--color-error-500:#c94a5a;--color-error-600:#b33d4d;--color-error-700:#9d3040;--color-info-50:#f9f6f3;--color-info-100:#f6efea;--color-info-500:#c07a3d;--color-info-600:#a8652f;--color-info-700:#8f5426;--font-family-base:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-heading:"Playfair Display", Georgia, "Times New Roman", serif;--font-family-mono:"Fira Code", "Courier New", monospace;--font-family-button:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs:.8rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--header-height:72px;--sidebar-width:280px;--sidebar-collapsed-width:80px;--container-max-width:1280px;--content-max-width:1024px;--radius-none:0;--radius-sm:.25rem;--radius-base:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #2e1f1b0d;--shadow-sm:0 1px 3px 0 #2e1f1b1a, 0 1px 2px -1px #2e1f1b14;--shadow-base:0 4px 6px -1px #2e1f1b1a, 0 2px 4px -2px #2e1f1b14;--shadow-md:0 10px 15px -3px #2e1f1b1a, 0 4px 6px -4px #2e1f1b14;--shadow-lg:0 20px 25px -5px #2e1f1b1f, 0 8px 10px -6px #2e1f1b1a;--shadow-xl:0 25px 50px -12px #2e1f1b26;--shadow-primary:0 10px 25px -5px #c07a3d4d;--shadow-secondary:0 10px 25px -5px #6b5e5a33;--shadow-accent:0 10px 25px -5px #7fa38d40;--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--breakpoint-xs:320px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}.text-gradient-primary{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-secondary{background:var(--gradient-secondary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-in-top{animation:slideInFromTop var(--transition-base)}.animate-slide-in-bottom{animation:slideInFromBottom var(--transition-base)}.animate-scale-in{animation:scaleIn var(--transition-base)}.animate-spin{animation:1s linear infinite spin}.btn{--btn-shadow-spread:0px;--btn-glow-opacity:0;justify-content:center;align-items:center;gap:var(--spacing-2);font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;isolation:isolate;border:none;border-radius:14px;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";opacity:0;pointer-events:none;z-index:1;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.btn svg{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.btn:hover:not(:disabled) svg{transform:scale(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:grayscale(.3)}.btn-primary{color:#fffbf7;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);box-shadow:0 4px 14px -3px #c07a3d73,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26,inset 0 -1px 2px #6b3e1a26}.btn-primary:hover:not(:disabled){color:#fffbf7;transform:translateY(-3px);box-shadow:0 8px 24px -4px #c07a3d80,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3,inset 0 -1px 2px #6b3e1a26}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px -2px #c07a3d66,0 2px 4px -1px #a8652f40,inset 0 2px 4px #6b3e1a33}.btn-secondary{color:var(--color-neutral-800);background:linear-gradient(160deg,#faf6f2 0%,#f0e8e0 50%,#e5dad0 100%);border:1px solid #d5c9be99;box-shadow:0 3px 12px -2px #4a3f3b1f,0 2px 4px -1px #4a3f3b14,inset 0 1px 1px #ffffffe6,inset 0 -1px 2px #b5a18e26}.btn-secondary:hover:not(:disabled){color:var(--color-neutral-800);background:linear-gradient(160deg,#fff 0%,#faf6f2 50%,#f0e8e0 100%);border-color:#c07a3d4d;transform:translateY(-2px);box-shadow:0 6px 18px -3px #4a3f3b26,0 3px 6px -2px #4a3f3b1a,inset 0 1px 1px #fff,inset 0 -1px 2px #b5a18e1a}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px -1px #4a3f3b1a,inset 0 2px 4px #b5a18e26}.btn-accent{color:#fafdfb;text-shadow:0 1px 2px #373f3940;background:linear-gradient(160deg,#8fb89d 0%,#7fa38d 40%,#6d8a78 100%);box-shadow:0 4px 14px -3px #7fa38d73,0 2px 4px -1px #6d8a7840,inset 0 1px 1px #fff3,inset 0 -1px 2px #49584e26}.btn-accent:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px -4px #7fa38d80,0 4px 8px -2px #6d8a784d,inset 0 1px 1px #ffffff40,inset 0 -1px 2px #49584e26}.btn-accent:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px -2px #7fa38d66,inset 0 2px 4px #49584e33}.btn-danger{color:#fff8f9;text-shadow:0 1px 2px #7828344d;background:linear-gradient(160deg,#d85a6a 0%,#c94a5a 40%,#b33d4d 100%);box-shadow:0 4px 14px -3px #c94a5a73,0 2px 4px -1px #b33d4d40,inset 0 1px 1px #ffffff26,inset 0 -1px 2px #78283433}.btn-danger:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px -4px #c94a5a80,0 4px 8px -2px #b33d4d4d,inset 0 1px 1px #fff3,inset 0 -1px 2px #78283433}.btn-danger:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px -2px #c94a5a66,inset 0 2px 4px #78283440}.btn-success{color:#fafdfb;text-shadow:0 1px 2px #373f3940;background:linear-gradient(160deg,#8fb89d 0%,#7fa38d 40%,#6d8a78 100%);box-shadow:0 4px 14px -3px #7fa38d73,0 2px 4px -1px #6d8a7840,inset 0 1px 1px #fff3,inset 0 -1px 2px #49584e26}.btn-success:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 22px -4px #7fa38d80,0 4px 8px -2px #6d8a784d,inset 0 1px 1px #ffffff40}.btn-success:active:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px -2px #7fa38d66,inset 0 2px 4px #49584e33}.btn-neutral{color:var(--color-neutral-700);border:1.5px solid var(--color-neutral-300);background:linear-gradient(160deg,#fff 0%,#f8f4f0 50%,#f0ebe5 100%);box-shadow:0 2px 8px -2px #4a3f3b1a,inset 0 1px 1px #ffffffe6,inset 0 -1px 1px #b5a18e14}.btn-neutral:hover:not(:disabled){border-color:var(--color-neutral-400);background:linear-gradient(160deg,#fff 0% 30%,#faf6f2 100%);transform:translateY(-2px);box-shadow:0 5px 15px -3px #4a3f3b1f,inset 0 1px 1px #fff}.btn-neutral:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px -1px #4a3f3b14,inset 0 2px 4px #b5a18e1a}.btn-ghost{color:var(--color-primary-600);border:2px solid var(--color-primary-300);box-shadow:none;background:0 0}.btn-ghost:before{background:linear-gradient(135deg,#c07a3d14 0%,#c07a3d0a 100%)}.btn-ghost:hover:not(:disabled){border-color:var(--color-primary-500);color:var(--color-primary-700);background:#fcf8f4cc;transform:translateY(-2px);box-shadow:0 4px 12px -3px #c07a3d33,inset 0 0 0 1px #c07a3d0d}.btn-ghost:hover:not(:disabled):before{opacity:1}.btn-ghost:active:not(:disabled){background:#fcf8f4f2;transform:translateY(0)scale(.98)}.btn-sm{gap:var(--spacing-1);border-radius:10px;padding:.5rem 1rem;font-size:.8125rem}.btn-sm svg{width:14px;height:14px}.btn-lg{gap:var(--spacing-3);letter-spacing:.015em;border-radius:16px;padding:1.125rem 2.25rem;font-size:1.0625rem}.btn-lg svg{width:22px;height:22px}.btn-block{width:100%}.btn-icon{border-radius:12px;padding:.75rem}.btn-icon.btn-sm{border-radius:8px;padding:.5rem}.btn-icon.btn-lg{border-radius:14px;padding:1rem}.btn:focus-visible{box-shadow:0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-primary-400);outline:none}.btn-danger:focus-visible{box-shadow:0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-error-400)}.btn-accent:focus-visible,.btn-success:focus-visible{box-shadow:0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-accent-400)}.form-group{gap:var(--spacing-2);margin-bottom:var(--spacing-5);flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.form-group label .required{color:var(--color-error-500);margin-left:var(--spacing-1)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-3) var(--spacing-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--color-neutral-800);background:var(--color-neutral-0);border:2px solid var(--color-neutral-300);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-neutral-400)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--color-neutral-100);color:var(--color-neutral-500);cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235d564c' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;padding-right:var(--spacing-8)}.form-checkbox,.form-radio{align-items:center;gap:var(--spacing-3);cursor:pointer;display:flex}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-primary-600)}.form-error{padding:var(--spacing-3) var(--spacing-4);background:var(--color-error-50);border-left:4px solid var(--color-error-500);border-radius:var(--radius-base);color:var(--color-error-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-5);animation:slideInFromTop var(--transition-base)}.form-success{padding:var(--spacing-3) var(--spacing-4);background:var(--color-success-50);border-left:4px solid var(--color-success-500);border-radius:var(--radius-base);color:var(--color-success-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-5);animation:slideInFromTop var(--transition-base)}.card{background:var(--color-neutral-0);border-radius:var(--radius-xl);box-shadow:var(--shadow-base);transition:all var(--transition-base);border:1px solid var(--color-neutral-200);overflow:hidden}.card:hover{border-color:var(--color-neutral-300)}.card-header{padding:var(--spacing-5);border-bottom:1px solid var(--color-neutral-200);background:var(--color-neutral-50)}.card-body{padding:var(--spacing-6)}.card-footer{padding:var(--spacing-5);border-top:1px solid var(--color-neutral-200);background:var(--color-neutral-50)}.badge{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;display:inline-flex}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge-secondary{background:var(--color-secondary-100);color:var(--color-secondary-700)}.badge-accent{background:var(--color-accent-100);color:var(--color-accent-700)}.badge-success{background:var(--color-success-100);color:var(--color-success-700)}.badge-error{background:var(--color-error-100);color:var(--color-error-700)}.badge-info{background:var(--color-info-100);color:var(--color-info-700)}.badge-neutral{background:var(--color-neutral-200);color:var(--color-neutral-700)}.spinner{border:4px solid var(--color-neutral-200);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);width:40px;height:40px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:20px;height:20px}.spinner-lg{border-width:6px;width:60px;height:60px}.loading-container{justify-content:center;align-items:center;gap:var(--spacing-4);padding:var(--spacing-12);color:var(--color-neutral-600);flex-direction:column;display:flex}.empty-state{padding:var(--spacing-12) var(--spacing-6);text-align:center;color:var(--color-neutral-600);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-4);opacity:.5}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);margin-bottom:var(--spacing-2)}.empty-state-subtitle{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-bottom:var(--spacing-6)}.alert{padding:var(--spacing-4) var(--spacing-5);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-5);align-items:center;gap:var(--spacing-3);display:flex}.alert-info{background:var(--color-info-50);color:var(--color-info-700);border:1px solid var(--color-info-200)}.alert-success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-200)}.alert-warning{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.alert-error{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-200)}.divider{background:var(--color-neutral-200);height:1px;margin:var(--spacing-6) 0}.divider-vertical{background:var(--color-neutral-200);width:1px;height:auto;margin:0 var(--spacing-4)}.page-header{margin-bottom:var(--spacing-8);justify-content:space-between;align-items:center;gap:var(--spacing-4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--font-size-4xl);color:var(--color-neutral-900);margin:0}.content-section{margin-bottom:var(--spacing-12)}.section-header{margin-bottom:var(--spacing-6);justify-content:space-between;align-items:center;display:flex}.section-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.see-all-link{color:var(--color-primary-600);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.see-all-link:hover{color:var(--color-primary-700)}.btn-create{align-items:center;gap:var(--spacing-2);color:#fffbf7;font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border:none;border-radius:14px;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #c07a3d80,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.btn-create:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#0000000d 100%);transition:opacity .3s;position:absolute;inset:0}.btn-create svg{width:18px;height:18px;transition:transform .2s}.btn-create:hover{transform:translateY(-3px);box-shadow:0 10px 28px -6px #c07a3d8c,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.btn-create:hover:before{opacity:1}.btn-create:hover svg{transform:scale(1.1)rotate(90deg)}.btn-create:active{transform:translateY(-1px);box-shadow:0 4px 12px -3px #c07a3d73,inset 0 2px 4px #6b3e1a33}.btn-create:focus-visible{box-shadow:0 4px 16px -4px #c07a3d80, 0 0 0 3px var(--color-neutral-0), 0 0 0 5px var(--color-primary-400);outline:none}.cards-grid,.preparations-grid,.cakes-grid{gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.preparation-card,.cake-card,.prep-card{background:var(--color-neutral-0);border-radius:var(--radius-lg);padding:var(--spacing-6);cursor:pointer;gap:var(--spacing-4);min-height:150px;transition:background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);border:none;flex-direction:column;display:flex;position:relative}.preparation-card:hover,.cake-card:hover,.prep-card:hover{background:var(--color-neutral-100);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-content{gap:var(--spacing-2);padding-right:var(--spacing-12);flex-direction:column;flex:1;display:flex}.card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);letter-spacing:-.02em;line-height:var(--line-height-tight);margin:0}.card-subtitle,.card-subcategory{font-size:var(--font-size-sm);color:var(--color-neutral-600);font-weight:var(--font-weight-medium);padding:var(--spacing-1) var(--spacing-3);background:var(--color-neutral-200);border-radius:var(--radius-sm);letter-spacing:.01em;width:fit-content;display:inline-block}.like-button{bottom:var(--spacing-5);right:var(--spacing-5);-webkit-backdrop-filter:blur(8px);cursor:pointer;color:var(--color-neutral-600);background:#ffffffd9;border:1px solid #d5c9be66;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:.8125rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;position:absolute;box-shadow:0 2px 8px -2px #4a3f3b1a}.like-button svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .2s}.like-button:hover{color:var(--color-error-500);background:#fffffff2;border-color:#c94a5a4d;box-shadow:0 4px 12px -3px #c94a5a33}.like-button:hover svg{transform:scale(1.15)}.like-button:active{transform:scale(.95)}.like-button:active svg{transform:scale(1.3)}.like-button.liked{color:var(--color-error-500);background:linear-gradient(135deg,#fff0f2 0%,#ffe4e8 100%);border-color:#c94a5a40;box-shadow:0 3px 10px -3px #c94a5a40,inset 0 1px 1px #fffc}.like-button.liked svg{color:var(--color-error-500);filter:drop-shadow(0 1px 2px #c94a5a4d)}.like-button.liked:hover{background:linear-gradient(135deg,#ffe4e8 0%,#ffd8de 100%);box-shadow:0 5px 14px -4px #c94a5a4d,inset 0 1px 1px #ffffffe6}.like-count{text-align:center;font-variant-numeric:tabular-nums;min-width:16px;font-weight:700}.preparation-details,.cake-details{padding:var(--spacing-2) 0}.detail-section{margin-bottom:var(--spacing-8)}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:var(--font-size-lg);color:var(--color-neutral-900);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--color-neutral-100)}.detail-row{padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-neutral-100);justify-content:space-between;display:flex}.detail-row:last-child{border-bottom:none}.detail-row strong{color:var(--color-neutral-700);font-weight:var(--font-weight-semibold)}.detail-row span{color:var(--color-neutral-600);text-align:right}.ingredients-detail-list{margin:0;padding:0;list-style:none}.ingredients-detail-list li{padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-2);background-color:var(--color-neutral-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary-600);transition:background-color var(--transition-fast);justify-content:space-between;display:flex}.ingredients-detail-list li:hover{background-color:var(--color-neutral-100)}.ingredient-name{color:var(--color-neutral-900);font-weight:var(--font-weight-medium)}.ingredient-quantity{color:var(--color-neutral-600);font-weight:var(--font-weight-semibold)}.instructions-text{color:var(--color-neutral-700);line-height:var(--line-height-relaxed);white-space:pre-wrap;background-color:var(--color-neutral-50);padding:var(--spacing-4);border-radius:var(--radius-base);border-left:3px solid var(--color-primary-600)}.layers-detail-list{margin:0;padding:0;list-style:none}.layers-detail-list li{padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-2);background-color:var(--color-neutral-50);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary-600);justify-content:space-between;display:flex}.layer-number{color:var(--color-neutral-600);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.layer-name{color:var(--color-neutral-900);font-weight:var(--font-weight-semibold)}.layer-clickable{cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast)}.layer-clickable:hover{background-color:var(--color-neutral-200);transform:translate(4px)}.layer-clickable:hover .layer-name{color:var(--color-primary-600)}.detail-actions{gap:var(--spacing-3);margin-top:var(--spacing-8);padding-top:var(--spacing-6);border-top:1px solid var(--color-neutral-200);display:flex}.detail-actions .btn-edit,.detail-actions .btn-delete,.detail-actions .btn-plan{font-family:var(--font-family-button);letter-spacing:.01em;cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-2);border:none;border-radius:12px;flex:1;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94),background .2s;display:flex;position:relative;overflow:hidden}.detail-actions .btn-edit svg,.detail-actions .btn-delete svg,.detail-actions .btn-plan svg{width:16px;height:16px;transition:transform .2s}.detail-actions .btn-edit:hover svg,.detail-actions .btn-delete:hover svg,.detail-actions .btn-plan:hover svg{transform:scale(1.1)}.detail-actions .btn-plan{color:#f8faff;text-shadow:0 1px 2px #1d4ed84d;background:linear-gradient(160deg,#4f7df5 0%,#2563eb 40%,#1d4ed8 100%);box-shadow:0 4px 14px -3px #2563eb73,0 2px 4px -1px #1d4ed840,inset 0 1px 1px #ffffff26}.detail-actions .btn-plan:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #2563eb80,0 4px 8px -2px #1d4ed84d,inset 0 1px 1px #fff3}.detail-actions .btn-plan:active{transform:translateY(0);box-shadow:0 2px 8px -2px #2563eb66,inset 0 2px 4px #1d4ed833}.detail-actions .btn-edit{color:#fffbf7;text-shadow:0 1px 2px #6b3e1a4d;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 40%,#a8652f 100%);box-shadow:0 4px 14px -3px #c07a3d73,0 2px 4px -1px #a8652f40,inset 0 1px 1px #ffffff26}.detail-actions .btn-edit:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #c07a3d80,0 4px 8px -2px #a8652f4d,inset 0 1px 1px #fff3}.detail-actions .btn-edit:active{transform:translateY(0);box-shadow:0 2px 8px -2px #c07a3d66,inset 0 2px 4px #6b3e1a33}.detail-actions .btn-delete{color:#fff8f9;text-shadow:0 1px 2px #7828344d;background:linear-gradient(160deg,#d85a6a 0%,#c94a5a 40%,#b33d4d 100%);box-shadow:0 4px 14px -3px #c94a5a73,0 2px 4px -1px #b33d4d40,inset 0 1px 1px #ffffff26}.detail-actions .btn-delete:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #c94a5a80,0 4px 8px -2px #b33d4d4d,inset 0 1px 1px #fff3}.detail-actions .btn-delete:active{transform:translateY(0);box-shadow:0 2px 8px -2px #c94a5a66,inset 0 2px 4px #78283440}.loading-text{text-align:center;color:var(--color-neutral-600);font-size:var(--font-size-lg);padding:var(--spacing-12)}.preparations-grid>*,.cakes-grid>*,.cards-grid>*{animation:.4s ease-out both cardFadeIn}.preparations-grid>:first-child,.cakes-grid>:first-child,.cards-grid>:first-child{animation-delay:30ms}.preparations-grid>:nth-child(2),.cakes-grid>:nth-child(2),.cards-grid>:nth-child(2){animation-delay:60ms}.preparations-grid>:nth-child(3),.cakes-grid>:nth-child(3),.cards-grid>:nth-child(3){animation-delay:90ms}.preparations-grid>:nth-child(4),.cakes-grid>:nth-child(4),.cards-grid>:nth-child(4){animation-delay:.12s}.preparations-grid>:nth-child(5),.cakes-grid>:nth-child(5),.cards-grid>:nth-child(5){animation-delay:.15s}.preparations-grid>:nth-child(6),.cakes-grid>:nth-child(6),.cards-grid>:nth-child(6){animation-delay:.18s}.preparations-grid>:nth-child(n+7),.cakes-grid>:nth-child(n+7),.cards-grid>:nth-child(n+7){animation-delay:.21s}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:var(--font-size-3xl)}.section-header h2{font-size:var(--font-size-xl)}.btn{border-radius:12px;padding:.75rem 1.5rem;font-size:.875rem}.btn-create{justify-content:center;width:100%}.cards-grid,.preparations-grid,.cakes-grid{grid-template-columns:1fr}.preparation-card,.cake-card,.prep-card{padding:var(--spacing-6);min-height:150px}.card-title{font-size:var(--font-size-xl)}.like-button{bottom:var(--spacing-4);right:var(--spacing-4);padding:6px 10px;font-size:.75rem}.like-button svg{width:14px;height:14px}.detail-actions{gap:var(--spacing-3);flex-direction:column}.detail-actions .btn-edit,.detail-actions .btn-delete,.detail-actions .btn-plan{width:100%;padding:1rem 1.25rem}.detail-row{gap:var(--spacing-1);flex-direction:column}.detail-row span{text-align:left}.ingredients-detail-list li,.layers-detail-list li{gap:var(--spacing-1);flex-direction:column}}@media (width<=480px){.btn{border-radius:10px;padding:.625rem 1.25rem;font-size:.8125rem}.btn svg{width:16px;height:16px}.btn-lg{padding:.875rem 1.5rem;font-size:.9375rem}.like-button{border-radius:16px;gap:4px;padding:5px 8px}}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}html{scroll-behavior:smooth;font-size:14px}body{min-width:320px;min-height:100vh;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-neutral-800);background:var(--color-neutral-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizelegibility;margin:0;position:relative}body:before{content:"";pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-neutral-900);margin:0}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{line-height:var(--line-height-relaxed);margin:0}a{color:var(--color-primary-600);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-700)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}
