@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}}.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-8);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}}.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}}.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);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);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);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)}.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);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)}}.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{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{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)}}.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-8);margin-bottom:var(--spacing-8)}.preparations-header .header-content{justify-content:space-between;align-items:flex-start;gap:var(--spacing-6);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)}.filter-controls{gap:var(--spacing-2);display:flex}.btn-filter{align-items:center;gap:var(--spacing-2);border:1.5px solid var(--color-neutral-200);font-family:var(--font-family-button);color:var(--color-neutral-700);cursor:pointer;background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border-radius:12px;padding:.75rem 1.125rem;font-size:.875rem;font-weight:500;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 6px -2px #4a3f3b14,inset 0 1px 1px #ffffffe6}.btn-filter svg{width:16px;height:16px;transition:transform .2s}.btn-filter:hover{border-color:var(--color-neutral-300);background:linear-gradient(160deg,#fff 0% 100%);transform:translateY(-1px);box-shadow:0 4px 10px -3px #4a3f3b1f,inset 0 1px 1px #fff}.btn-filter:hover svg{transform:rotate(15deg)}.btn-filter.active{border-color:var(--color-primary-400);color:var(--color-primary-700);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);box-shadow:0 3px 10px -3px #c07a3d33,inset 0 1px 1px #ffffffe6}.btn-filter:active{transform:translateY(0)scale(.98)}.filter-badge{border-radius:var(--radius-full);border:2.5px solid var(--color-neutral-0);background:linear-gradient(135deg,#d85a6a 0%,#c94a5a 100%);width:12px;height:12px;animation:2s ease-in-out infinite badgePulse;position:absolute;top:-5px;right:-5px;box-shadow:0 2px 4px #c94a5a66}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.filters-panel{padding:var(--spacing-4);background:var(--color-neutral-0);border-radius:var(--radius-lg);animation:.2s panelSlideDown}@keyframes panelSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filters-section{gap:var(--spacing-3);flex-direction:column;display:flex}.filters-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.05em}.category-filters{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.category-chip{border:1.5px solid var(--color-neutral-200);font-family:var(--font-family-button);color:var(--color-neutral-700);cursor:pointer;background:linear-gradient(160deg,#fff 0%,#faf6f2 100%);border-radius:20px;align-items:center;gap:6px;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s,color .2s;display:inline-flex;box-shadow:0 2px 4px -1px #4a3f3b0f,inset 0 1px 1px #ffffffe6}.category-chip:hover{border-color:var(--color-primary-300);color:var(--color-primary-700);background:linear-gradient(160deg,#fcf8f4 0%,#f5ebe0 100%);transform:translateY(-1px);box-shadow:0 4px 10px -3px #c07a3d26,inset 0 1px 1px #fff}.category-chip:active{transform:translateY(0)scale(.97)}.category-chip.active{color:#fffbf7;text-shadow:0 1px 2px #6b3e1a40;background:linear-gradient(160deg,#d4915a 0%,#c07a3d 35%,#a8652f 100%);border-color:#0000;box-shadow:0 3px 10px -3px #c07a3d66,inset 0 1px 1px #ffffff26}.chip-count{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;background:#ffffff40;padding:2px 8px;font-size:.6875rem;font-weight:700}.category-chip:not(.active) .chip-count{background:var(--color-neutral-100);color:var(--color-neutral-600)}.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)}.preparations-grid{gap:var(--spacing-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.prep-card{background:var(--color-neutral-0);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);animation:.4s both cardFadeIn;animation-delay:var(--delay,0s);border:1px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.prep-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.prep-card.is-owner{border-color:var(--color-primary-200)}.prep-card.is-owner:hover{border-color:var(--color-primary-400)}.prep-card-accent{background:var(--gradient-primary);height:4px}.prep-card.is-owner .prep-card-accent{background:var(--gradient-accent)}.prep-card-content{gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-5);flex-direction:column;flex:1;display:flex}.prep-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-2);display:flex}.prep-card-category{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.05em}.prep-card-mine{background:var(--color-accent-100);color:var(--color-accent-700);font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:2px 8px}.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-subcategory{font-size:var(--font-size-sm);color:var(--color-neutral-500)}.prep-card-author{align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-1);display:flex}.prep-card-author span{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.prep-card-meta{align-items:center;gap:var(--spacing-3);margin-top:auto;display:flex}.prep-card-time{align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-neutral-600);display: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-footer{padding:var(--spacing-3) var(--spacing-5);background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-100);justify-content:space-between;align-items:center;display:flex}.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)}.cost-approx{font-size:var(--font-size-xs);color:var(--color-warning-500);margin-left:2px}.prep-card-ingredients{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.prep-card-like{-webkit-backdrop-filter:blur(4px);color:var(--color-neutral-500);cursor:pointer;background:#ffffffb3;border:1px solid #d5c9be4d;border-radius:16px;align-items:center;gap:5px;padding:6px 10px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 4px -1px #4a3f3b14}.prep-card-like svg{width:14px;height:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .2s}.prep-card-like:not(.disabled):hover{color:var(--color-error-500);background:#fff0f2e6;border-color:#c94a5a40;box-shadow:0 3px 8px -2px #c94a5a26}.prep-card-like:not(.disabled):hover svg{transform:scale(1.15)}.prep-card-like:not(.disabled):active{transform:scale(.95)}.prep-card-like:not(.disabled):active svg{transform:scale(1.25)}.prep-card-like.liked{color:var(--color-error-500);background:linear-gradient(135deg,#fff0f2 0%,#ffe4e8 100%);border-color:#c94a5a33;box-shadow:0 2px 6px -2px #c94a5a33,inset 0 1px 1px #ffffffb3}.prep-card-like.liked svg{filter:drop-shadow(0 1px 2px #c94a5a40)}.prep-card-like.disabled{cursor:default;opacity:.6}.prep-card-like span{font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700}.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}.filter-controls{width:100%}.btn-filter{flex:1;justify-content:center}.sort-select{flex:1}.preparations-grid{grid-template-columns:1fr}.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)}.view-tab{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.prep-card-content{padding:var(--spacing-3) var(--spacing-4)}.prep-card-title{font-size:var(--font-size-base)}}.cake-layer-editor{gap:var(--spacing-6);flex-direction:column;display:flex}.editor-section-title{font-family:var(--font-family-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-3) 0}.shape-section{padding:var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-lg)}.shape-selector{gap:var(--spacing-4);flex-direction:column;display:flex}.shape-group{gap:var(--spacing-2);flex-direction:column;display:flex}.shape-group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.05em}.shape-options{gap:var(--spacing-2);flex-wrap:wrap;display:flex}.shape-option{align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);background:var(--color-neutral-0);border:2px solid var(--color-neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;min-width:60px;display:flex}.shape-option:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.shape-option.selected{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-600)}.shape-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.shape-svg{width:100%;height:100%}.shape-option.selected .shape-svg{color:var(--color-primary-500)}.shape-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:inherit}.editor-main{gap:var(--spacing-6);grid-template-columns:1fr 300px;min-height:350px;display:grid}.editor-preview{background:var(--color-neutral-0);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);padding:var(--spacing-4);justify-content:center;align-items:center;min-height:300px;display:flex}.cake-preview{justify-content:center;align-items:center;width:100%;display:flex}.cake-svg{max-width:100%;height:auto}.cake-layer-group{transition:all var(--transition-fast)}.cake-layer-group:hover .layer-body{filter:brightness(1.05)}.cake-layer-group.highlighted .layer-body{filter:brightness(1.1)}.layer-label{pointer-events:none}.cake-preview-empty{align-items:center;gap:var(--spacing-3);color:var(--color-neutral-400);text-align:center;padding:var(--spacing-8);flex-direction:column;display:flex}.cake-preview-empty p{font-size:var(--font-size-sm);margin:0}.empty-cake-icon{opacity:.5}.editor-controls{gap:var(--spacing-4);flex-direction:column;display:flex}.layer-stack{gap:var(--spacing-3);background:var(--color-neutral-50);border-radius:var(--radius-lg);padding:var(--spacing-4);flex-direction:column;display:flex}.layer-stack-header{justify-content:space-between;align-items:center;display:flex}.layer-stack-title{font-family:var(--font-family-heading);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700)}.layer-stack-count{min-width:24px;height:24px;padding:0 var(--spacing-2);background:var(--color-primary-100);color:var(--color-primary-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.layer-stack-list{gap:var(--spacing-2);flex-direction:column;max-height:250px;display:flex;overflow-y:auto}.layer-stack-empty{padding:var(--spacing-8) var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.layer-stack-empty p{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-600);margin:0 0 var(--spacing-1) 0}.layer-stack-empty span{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.layer-stack-hint{font-size:var(--font-size-xs);color:var(--color-neutral-500);text-align:center;margin:0}.layer-item-wrapper{transition:transform var(--transition-fast)}.layer-item{align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex}.layer-item:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-50)}.layer-item.selected{border-color:var(--color-primary-400);background:var(--color-primary-50);box-shadow:0 0 0 2px var(--color-primary-100)}.layer-item.dragging{opacity:.5;box-shadow:var(--shadow-lg);transform:scale(1.02)}.layer-item.drag-over{border-color:var(--color-primary-500);border-style:dashed}.layer-drag-handle{padding:var(--spacing-1);color:var(--color-neutral-400);cursor:grab;touch-action:none;justify-content:center;align-items:center;display:flex}.layer-drag-handle:hover{color:var(--color-neutral-600)}.layer-drag-handle:active{cursor:grabbing}.layer-color-indicator{border-radius:var(--radius-sm);border:2px solid;flex-shrink:0;width:24px;height:24px}.layer-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.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}.layer-category{font-size:var(--font-size-xs);color:var(--color-neutral-500);text-transform:capitalize}.layer-thickness-control{align-items:center;gap:var(--spacing-2);flex-shrink:0;display:flex}.thickness-slider{width:60px;height:4px;accent-color:var(--color-primary-500);cursor:pointer}.thickness-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);text-align:center;min-width:16px}.layer-remove-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-neutral-400);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:flex}.layer-remove-btn:hover{background:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-600)}.layer-search{position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{left:var(--spacing-3);color:var(--color-neutral-400);pointer-events:none;position:absolute}.search-input{width:100%;padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) var(--spacing-10);background:var(--color-neutral-0);border:2px 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:all var(--transition-fast)}.search-input:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.search-input::placeholder{color:var(--color-neutral-400)}.search-results{margin-top:var(--spacing-1);background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-result-item{width:100%;padding:var(--spacing-3);border:none;border-bottom:1px solid var(--color-neutral-100);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;flex-direction:column;gap:2px;display:flex}.search-result-item:hover{background:var(--color-primary-50)}.result-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-800)}.result-category{font-size:var(--font-size-xs);color:var(--color-neutral-500);text-transform:capitalize}@media (width<=768px){.editor-main{gap:var(--spacing-4);grid-template-columns:1fr}.editor-preview{order:1;min-height:200px}.editor-controls{order:2}.shape-options{justify-content:center}.layer-stack-list{max-height:200px}.layer-drag-handle{padding:var(--spacing-3);margin:calc(var(--spacing-2) * -1) 0}.thickness-slider{width:50px;height:28px}.layer-remove-btn{width:36px;height:36px}}.cake-form{flex-direction:column;gap:1.25rem;display:flex}.components-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.components-section h3{color:#1f2937;margin:0 0 .5rem;font-size:1.1rem}.section-description{color:#6b7280;margin:0 0 1.25rem;font-size:.9rem}.layers-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.layer-item-classic{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.editor-toggle{gap:var(--spacing-2);padding:var(--spacing-1);background:var(--color-neutral-100);border-radius:var(--radius-lg);width:fit-content;display:flex}.toggle-btn{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);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-600);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:flex}.toggle-btn:hover{color:var(--color-neutral-800)}.toggle-btn.active{background:var(--color-neutral-0);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.layer-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.layer-header label{color:#1f2937;font-size:.95rem;font-weight:600}.btn-remove-layer{border:1px solid var(--color-neutral-200);background:var(--color-neutral-0);width:28px;height:28px;color:var(--color-error-500);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.btn-remove-layer:hover:not(:disabled){background-color:var(--color-error-50);border-color:var(--color-error-500)}.btn-remove-layer:disabled{opacity:.4;cursor:not-allowed}.selected-preparation{background-color:var(--color-success-50);border:1px solid var(--color-success-500);border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.prep-title{color:#1f2937;font-weight:500}.btn-clear-selection{background-color:var(--color-neutral-0);border:1px solid var(--color-neutral-300);color:var(--color-primary-600);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s}.btn-clear-selection:hover:not(:disabled){border-color:var(--color-primary-600);background-color:var(--color-primary-50)}.preparation-search{position:relative}.preparation-search input{border:1px solid var(--color-neutral-300);border-radius:6px;width:100%;padding:.625rem 1rem;font-size:.95rem;transition:all .2s}.preparation-search input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.search-results{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:300px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.search-result-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f3f4f6}.result-title{color:#1f2937;margin-bottom:.25rem;font-weight:500;display:block}.result-meta{color:#6b7280;font-size:.875rem;display:block}.btn-add-layer{background:var(--color-neutral-0);border:2px dashed var(--color-neutral-300);color:var(--color-primary-600);cursor:pointer;border-radius:8px;width:100%;padding:.65rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s}.btn-add-layer:hover:not(:disabled){border-color:var(--color-primary-600);background-color:var(--color-primary-50)}.btn-add-layer:disabled{opacity:.5;cursor:not-allowed}.label-optional{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-400)}.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 span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.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}@media (width<=640px){.selected-preparation{flex-direction:column;align-items:flex-start;gap:.5rem}.btn-clear-selection{width:100%}}.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-8);margin-bottom:var(--spacing-8)}.cakes-header .header-content{justify-content:space-between;align-items:flex-start;gap:var(--spacing-6);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(210px,1fr));gap:1.25rem;display:grid}.cake-card-header{align-items:center;display:flex}.cake-card-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-600);text-transform:uppercase;letter-spacing:.05em}.cake-card-layers{margin:var(--spacing-1) 0 0;flex-direction:column;gap:3px;padding:0;list-style:none;display:flex}.cake-card-layer-item{font-size:var(--font-size-sm);color:var(--color-neutral-600);padding-left:var(--spacing-3);white-space:nowrap;text-overflow:ellipsis;position:relative;overflow:hidden}.cake-card-layer-item:before{content:"·";color:var(--color-accent-400);font-weight:var(--font-weight-bold);position:absolute;left:0}.cake-card-layer-more{font-size:var(--font-size-xs);color:var(--color-neutral-400);padding-left:var(--spacing-3);font-style:italic}.cake-card-count{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.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-bottom-row{justify-content:space-between;align-items:center;gap:var(--spacing-2);display:flex}.cake-card-cost-photo{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fffbf7f2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);background:#c07a3dbf;padding:2px 8px}.cake-card.cake-card-photo{background:0 0;border:none;height:240px}.cake-card.cake-card-photo:hover{border:none}.cake-card-img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.22,1,.36,1);display:block;position:absolute;inset:0}.cake-card-photo:hover .cake-card-img{transform:scale(1.07)}.cake-card-placeholder-art{background:var(--c0,#3d2314);width:100%;height:100%;position:relative;overflow:hidden}.placeholder-stripes{background:repeating-linear-gradient(-45deg, var(--c0,#3d2314) 0px, var(--c0,#3d2314) 18%, var(--c1,#7b4f3a) 18%, var(--c1,#7b4f3a) 36%, var(--c2,#c99a72) 36%, var(--c2,#c99a72) 54%, var(--c3,#edd8c0) 54%, var(--c3,#edd8c0) 72%, var(--c0,#3d2314) 72%, var(--c0,#3d2314) 90%, var(--c1,#7b4f3a) 90%, var(--c1,#7b4f3a) 100%);opacity:.85;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.cake-card-photo:hover .placeholder-stripes{transform:scale(1.08)rotate(-2deg)}.placeholder-noise{opacity:.25;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");background-size:200px 200px;position:absolute;inset:0}.placeholder-label{letter-spacing:.18em;text-transform:uppercase;color:#ffffff80;white-space:nowrap;pointer-events:none;font-size:.6875rem;font-weight:700;position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%)}.cake-card-gradient{pointer-events:none;background:linear-gradient(#0a050200 40%,#0a050273 65%,#0a0502e0 100%);transition:opacity .3s;position:absolute;inset:0}.cake-card-hover-overlay{-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#0f0804c7;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.5rem;transition:opacity .25s;display:flex;position:absolute;inset:0}.cake-card-photo:hover .cake-card-hover-overlay{opacity:1}.hover-overlay-title{letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin:0 0 .75rem;font-size:.6875rem;font-weight:700}.hover-overlay-layers{flex-direction:column;gap:.5rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.hover-overlay-layer{color:#ffffffe6;align-items:center;gap:.6rem;font-size:.875rem;font-weight:400;display:flex}.hover-layer-num{color:#ffffffb3;background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6875rem;font-weight:700;display:flex}.hover-overlay-more{color:#ffffff73;padding-left:.25rem;font-size:.8125rem}.cake-card-badge-tl{-webkit-backdrop-filter:blur(8px);color:#ffffffe6;pointer-events:none;background:#ffffff26;border:1px solid #fff3;border-radius:100px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:background .2s;display:flex;position:absolute;top:.875rem;left:.875rem}.cake-card-photo:hover .cake-card-badge-tl{background:#ffffff38}.cake-card-bottom{pointer-events:none;padding:1.25rem 1.25rem 1.1rem;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.cake-card-photo:hover .cake-card-bottom{opacity:0}.cake-card-name{color:#fff;letter-spacing:-.01em;text-shadow:0 1px 4px #0006;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .2rem;font-size:1.125rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.cake-card-sub{color:#fff9;letter-spacing:.02em;margin:0;font-size:.75rem;font-weight:500}.cake-card{background:var(--color-neutral-0);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);animation:.4s both cardFadeIn;animation-delay:var(--delay,0s);border:1px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}.cake-card:hover{border-color:var(--color-accent-200);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.cake-card.is-owner{border-color:var(--color-accent-200)}.cake-card.is-owner:hover{border-color:var(--color-accent-400)}.cake-card-accent{background:var(--gradient-primary);height:4px}.cake-card.is-owner .cake-card-accent{background:var(--gradient-accent)}.cake-card-visual{height:100px;padding:var(--spacing-4);background:linear-gradient(180deg, var(--color-accent-50) 0%, var(--color-neutral-50) 100%);justify-content:center;align-items:flex-end;display:flex}.cake-layers-visual{flex-direction:column-reverse;align-items:center;gap:4px;display:flex}.visual-layer{border-radius:var(--radius-sm);height:12px;transition:all var(--transition-fast)}.visual-layer:first-child{background:linear-gradient(90deg, var(--color-primary-300) 0%, var(--color-primary-400) 100%);width:80px}.visual-layer:nth-child(2){background:linear-gradient(90deg, var(--color-accent-300) 0%, var(--color-accent-400) 100%);width:90px}.visual-layer:nth-child(3){background:linear-gradient(90deg, var(--color-primary-200) 0%, var(--color-primary-300) 100%);width:100px}.visual-layer:nth-child(4){background:linear-gradient(90deg, var(--color-accent-200) 0%, var(--color-accent-300) 100%);width:95px}.visual-layer:nth-child(5){background:linear-gradient(90deg, var(--color-primary-100) 0%, var(--color-primary-200) 100%);width:85px}.cake-card:hover .visual-layer{transform:scaleX(1.05)}.cake-card-content{gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-5);flex-direction:column;flex:1;display:flex}.cake-card-header{justify-content:space-between;align-items:center;gap:var(--spacing-2);display:flex}.cake-card-layers-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-600);text-transform:uppercase;letter-spacing:.05em}.cake-card-mine{background:var(--color-accent-100);color:var(--color-accent-700);font-size:10px;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:2px 8px}.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-author{align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-1);display:flex}.author-mini-avatar{background:var(--color-neutral-100);width:22px;height:22px;color:var(--color-neutral-600);font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;display:flex}.cake-card-author span{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.cake-card-private{align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-neutral-400);margin-top:var(--spacing-1);display:flex}.cake-card-footer{padding:var(--spacing-3) var(--spacing-5);background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-100);justify-content:space-between;align-items:center;display:flex}.cake-card-footer-left{align-items:center;gap:var(--spacing-2);display:flex}.cake-card-plan{-webkit-backdrop-filter:blur(4px);color:var(--color-neutral-500);cursor:pointer;background:#ffffffb3;border:1px solid #d5c9be4d;border-radius:10px;justify-content:center;align-items:center;padding:6px;transition:transform .2s,background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 4px -1px #4a3f3b14}.cake-card-plan svg{width:16px;height:16px;transition:transform .2s}.cake-card-plan:hover{border-color:var(--color-accent-300);color:var(--color-accent-600);background:#e5ede8e6;transform:translateY(-1px);box-shadow:0 3px 8px -2px #7fa38d33}.cake-card-plan:hover svg{transform:scale(1.1)}.cake-card-plan:active{transform:scale(.95)}.cake-card-like{-webkit-backdrop-filter:blur(4px);color:var(--color-neutral-500);cursor:pointer;background:#ffffffb3;border:1px solid #d5c9be4d;border-radius:16px;align-items:center;gap:5px;padding:6px 10px;transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 4px -1px #4a3f3b14}.cake-card-like svg{width:14px;height:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .2s}.cake-card-like:hover{color:var(--color-error-500);background:#fff0f2e6;border-color:#c94a5a40;box-shadow:0 3px 8px -2px #c94a5a26}.cake-card-like:hover svg{transform:scale(1.15)}.cake-card-like:active{transform:scale(.95)}.cake-card-like:active svg{transform:scale(1.25)}.cake-card-like.liked{color:var(--color-error-500);background:linear-gradient(135deg,#fff0f2 0%,#ffe4e8 100%);border-color:#c94a5a33;box-shadow:0 2px 6px -2px #c94a5a33,inset 0 1px 1px #ffffffb3}.cake-card-like.liked svg{filter:drop-shadow(0 1px 2px #c94a5a40)}.cake-card-like span{font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700}.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)}.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%}.cakes-grid{grid-template-columns:repeat(2,1fr)}.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%}}.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-card-margin-photo{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cake-card-margin-photo.margin-positive{color:#fff;background:#6d8a78cc}.cake-card-margin-photo.margin-negative{color:#fff;background:#c94a5acc}.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-content{padding:var(--spacing-3) var(--spacing-4)}.cake-card-title{font-size:var(--font-size-base)}.cakes-grid{grid-template-columns:1fr}}.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:.75rem;--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){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){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-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.preparation-card,.cake-card,.prep-card{background:var(--color-neutral-0);border-radius:var(--radius-lg);padding:var(--spacing-8);cursor:pointer;gap:var(--spacing-6);min-height:180px;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:16px}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)}
