:root{--provectus-orange: #F39200;--provectus-orange-hover: #e08600;--provectus-turquoise: #00A8B8;--provectus-turquoise-hover: #0099a8;--blue-1: #4380AC;--blue-1-hover: #3a72a0;--blue-2: #56A4D4;--anthracite: #3C3C3B;--anthracite-light: #555555;--gray: #777776;--gray-light: #999999;--gray-lighter: #B0B0B0;--light-gray: #F2F2F2;--light-gray-hover: #E8E8E8;--white: #FFFFFF;--color-success: #27AE60;--color-success-bg: #F0F9F4;--color-success-hover: #219a52;--color-danger: #E74C3C;--color-danger-bg: #FEF5F5;--color-danger-hover: #c0392b;--color-warning: #d35400;--color-warning-bg: #fff4e5;--font-family: "Inter UI", "Arial Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", 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: 2rem;--font-size-4xl: 2.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 2px 6px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 900;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200;font-family:var(--font-family);line-height:1.6;font-weight:400;color:var(--anthracite);background-color:var(--white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--light-gray);color:var(--anthracite)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:700;color:var(--anthracite);line-height:1.2;margin:0 0 var(--spacing-md) 0}h1{font-size:var(--font-size-4xl);font-weight:800}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{margin:0 0 var(--spacing-md) 0}a{color:var(--provectus-turquoise);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--provectus-orange)}img{max-width:100%;height:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:focus,.btn:focus-visible{outline:2px solid var(--provectus-orange);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background-color:var(--provectus-turquoise);color:var(--white);box-shadow:0 2px 8px #00a8b833}.btn--primary:hover:not(:disabled){background-color:var(--provectus-turquoise-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00a8b840}.btn--secondary{background-color:var(--provectus-orange);color:var(--white);box-shadow:0 2px 8px #f3920033}.btn--secondary:hover:not(:disabled){background-color:var(--provectus-orange-hover);transform:translateY(-2px);box-shadow:0 4px 12px #f392004d}.btn--outline{background-color:transparent;color:var(--anthracite);border:1.5px solid #E5E5E5}.btn--outline:hover:not(:disabled){background-color:var(--light-gray-hover);border-color:var(--gray-lighter)}.btn--danger{background-color:var(--color-danger);color:var(--white)}.btn--danger:hover:not(:disabled){background-color:var(--color-danger-hover)}.btn--success{background-color:var(--color-success);color:var(--white)}.btn--success:hover:not(:disabled){background-color:var(--color-success-hover)}.btn--sm{padding:.5rem 1rem;font-size:var(--font-size-sm)}.btn--lg{padding:1rem 2rem;font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--anthracite);font-size:var(--font-size-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:.875rem 1rem;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--anthracite);background-color:var(--white);border:1.5px solid #E5E5E5;border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:#d0d0d0}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.form-input::placeholder{color:var(--gray);opacity:.7}.form-textarea{min-height:100px;resize:vertical}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:500}.form-checkbox input,.form-radio input{width:18px;height:18px;accent-color:var(--provectus-turquoise);cursor:pointer}.card{background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card--bordered{border:1px solid rgba(0,0,0,.03)}.card--highlighted{border-left:4px solid var(--provectus-turquoise)}.card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--light-gray)}.card__title{margin:0;font-size:var(--font-size-lg);font-weight:600}.card__body{margin-bottom:var(--spacing-md)}.card__footer{padding-top:var(--spacing-md);border-top:1px solid var(--light-gray)}.page-header-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md);background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.page-header-content{flex:1}.page-header-content h1{margin:0 0 var(--spacing-xs) 0;color:var(--anthracite);font-weight:700;font-size:var(--font-size-2xl)}.page-header-content p{margin:0;color:var(--gray);font-size:var(--font-size-sm)}.message{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:1rem 1.25rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.message:before{content:"";width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--white);flex-shrink:0}.message--error{background-color:var(--color-danger-bg);color:var(--color-danger);border-left:4px solid var(--color-danger)}.message--error:before{content:"!";background-color:var(--color-danger)}.message--success{background-color:var(--color-success-bg);color:var(--color-success);border-left:4px solid var(--color-success)}.message--success:before{content:"✓";background-color:var(--color-success)}.message--warning{background-color:var(--color-warning-bg);color:var(--color-warning);border-left:4px solid var(--color-warning)}.message--info{background-color:var(--light-gray);color:var(--gray);border-left:4px solid var(--gray)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;background-color:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table thead{background-color:var(--light-gray)}.table th,.table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--light-gray)}.table th{font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--gray)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:#00a8b805}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem .75rem;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-full)}.badge--turquoise{background-color:#00a8b81a;color:var(--provectus-turquoise)}.badge--orange{background-color:#f392001a;color:var(--provectus-orange)}.badge--blue{background-color:#4380ac1a;color:var(--blue-1)}.badge--success{background-color:var(--color-success-bg);color:var(--color-success)}.badge--danger{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge--warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center;color:var(--gray);background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.loading:after{content:"";width:40px;height:40px;border:3px solid var(--light-gray);border-top-color:var(--provectus-turquoise);border-radius:50%;animation:spin .8s linear infinite}.loading--inline{padding:var(--spacing-md);box-shadow:none;background:transparent}.loading--inline:after{width:24px;height:24px}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-md);animation:fadeIn var(--transition-fast)}.modal{background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-base)}.modal--large{max-width:700px}.modal--full{max-width:900px}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--light-gray);background-color:#fafafa}.modal__title{margin:0;font-size:var(--font-size-xl);font-weight:600}.modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--white);border:1px solid #E5E5E5;border-radius:var(--radius-sm);font-size:1.5rem;color:var(--gray);cursor:pointer;transition:all var(--transition-fast)}.modal__close:hover{background-color:var(--light-gray-hover);color:var(--anthracite);border-color:#d0d0d0}.modal__body{padding:var(--spacing-xl)}.modal__footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--light-gray);background-color:#fafafa}.modal__footer .btn{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center;background-color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--gray)}.empty-state__icon{font-size:3rem;opacity:.5}.empty-state__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--anthracite)}.empty-state__text{margin:0;font-size:var(--font-size-base)}.grid{display:grid;gap:var(--spacing-lg)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-muted{color:var(--gray)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.hidden{display:none}.main-content{flex:1;background-color:var(--light-gray);padding:var(--spacing-xl) var(--spacing-md);min-height:calc(100vh - 80px)}.navigation{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-xl);background:var(--white);color:var(--anthracite);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid rgba(0,0,0,.03)}.nav-left{display:flex;align-items:center;gap:var(--spacing-xl);flex:1}.nav-user-profile{display:flex;align-items:center}.user-profile-link{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--anthracite);transition:all var(--transition-fast);padding:var(--spacing-xs);border-radius:var(--radius-md)}.user-profile-link:hover{background-color:var(--light-gray)}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--provectus-orange),var(--provectus-turquoise));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-base);flex-shrink:0;box-shadow:0 2px 8px #f3920033;overflow:hidden;position:relative}.user-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-initials{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:600;color:var(--anthracite);font-size:var(--font-size-sm);white-space:nowrap}.user-role{font-size:var(--font-size-xs);color:var(--gray);font-weight:400}.nav-links{display:flex;gap:var(--spacing-xs);align-items:center}.nav-link{color:var(--anthracite);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-size-sm);transition:all var(--transition-fast);white-space:nowrap;position:relative}.nav-link:hover{background-color:var(--light-gray);color:var(--anthracite)}.nav-link.active{color:var(--provectus-orange);font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:60%;height:2px;background:var(--provectus-orange);border-radius:2px}.nav-right{display:flex;align-items:center;gap:var(--spacing-md)}.logout-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;color:var(--gray);border:1.5px solid #E5E5E5;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);transition:all var(--transition-fast);white-space:nowrap}.logout-btn:hover{background-color:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.burger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.burger-btn:hover{background-color:var(--light-gray)}.burger-line{display:block;width:20px;height:2px;background-color:var(--anthracite);margin:3px 0;border-radius:2px;transition:all var(--transition-fast)}.burger-line.open:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger-line.open:nth-child(2){opacity:0;transform:scaleX(0)}.burger-line.open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background-color:#00000080;z-index:calc(var(--z-modal) - 1);animation:fadeIn var(--transition-fast)}.mobile-menu{position:absolute;top:0;right:0;width:280px;max-width:85vw;height:100%;background-color:var(--white);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideInRight var(--transition-base)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--light-gray)}.mobile-menu-user{display:flex;align-items:center;gap:var(--spacing-sm)}.mobile-menu-user-info{display:flex;flex-direction:column}.mobile-menu-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--light-gray);border:none;border-radius:var(--radius-sm);font-size:1.5rem;color:var(--gray);cursor:pointer;transition:all var(--transition-fast)}.mobile-menu-close:hover{background-color:var(--light-gray-hover);color:var(--anthracite)}.mobile-menu-links{flex:1;padding:var(--spacing-md);overflow-y:auto}.mobile-nav-link{display:block;padding:var(--spacing-md);color:var(--anthracite);text-decoration:none;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast);margin-bottom:var(--spacing-xs)}.mobile-nav-link:hover{background-color:var(--light-gray)}.mobile-nav-link.active{background-color:#f392001a;color:var(--provectus-orange);font-weight:600}.mobile-menu-footer{padding:var(--spacing-md);border-top:1px solid var(--light-gray)}.mobile-logout-btn{width:100%;padding:var(--spacing-md);background-color:var(--color-danger-bg);color:var(--color-danger);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.mobile-logout-btn:hover{background-color:var(--color-danger);color:var(--white)}@media(max-width:768px){.navigation{padding:var(--spacing-sm) var(--spacing-md)}.nav-left{gap:var(--spacing-sm)}.nav-user-profile{flex:1}.user-info{display:none}.user-avatar{width:40px;height:40px;font-size:var(--font-size-sm)}.nav-links{display:none}.nav-right{gap:var(--spacing-sm)}.logout-btn{display:none}.burger-btn{display:flex}.mobile-menu-overlay{display:block}.main-content{padding:var(--spacing-md) var(--spacing-sm)}}@media(max-width:480px){.navigation{padding:var(--spacing-xs) var(--spacing-sm)}.user-avatar{width:36px;height:36px;font-size:var(--font-size-xs)}.mobile-menu{width:100%;max-width:100%}}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:var(--spacing-xl) var(--spacing-md);background:linear-gradient(135deg,var(--provectus-turquoise) 0%,var(--blue-1) 100%)}.login-card{background:var(--white);padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);text-align:center;max-width:450px;width:100%}.login-logo-container{margin-bottom:var(--spacing-xl);display:flex;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--provectus-orange),var(--provectus-turquoise));border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.login-logo{height:80px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.login-card h1{margin-bottom:var(--spacing-sm);color:var(--anthracite);font-weight:800;font-size:var(--font-size-3xl)}.login-card p{color:var(--gray);margin-bottom:var(--spacing-xl);font-size:var(--font-size-lg);line-height:1.6}.login-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--provectus-orange);color:var(--white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-base);width:100%;box-shadow:0 4px 12px #f392004d}.login-button:hover{background-color:var(--provectus-orange-hover);transform:translateY(-2px);box-shadow:0 6px 16px #f3920066}.login-button:active{transform:translateY(0)}@media(max-width:768px){.login-container{padding:var(--spacing-md);min-height:calc(100vh - 60px)}.login-card{padding:var(--spacing-xl) var(--spacing-md)}.login-logo{height:60px}.login-card h1{font-size:var(--font-size-2xl)}.login-card p{font-size:var(--font-size-base);margin-bottom:var(--spacing-lg)}.login-button{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-base)}}.quick-action-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--anthracite);transition:all var(--transition-base);border:2px solid transparent;position:relative;overflow:hidden}.quick-action-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.quick-action-card:hover:before{left:100%}.quick-action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--provectus-orange)}.quick-action-card--primary{background:linear-gradient(135deg,var(--provectus-orange),#ffa500);color:var(--white);border-color:var(--provectus-orange);box-shadow:0 4px 20px #f392004d}.quick-action-card--primary:hover{background:linear-gradient(135deg,var(--provectus-orange-hover),var(--provectus-orange));box-shadow:0 8px 28px #f3920066}.quick-action-icon{font-size:2rem;line-height:1}.quick-action-content{flex:1}.quick-action-content h3{margin:0 0 4px;font-size:var(--font-size-xl);font-weight:700;color:inherit}.quick-action-content p{margin:0;font-size:var(--font-size-sm);opacity:.8}.quick-action-card--primary .quick-action-content p{opacity:.95}.quick-action-arrow{font-size:1.5rem;font-weight:700;opacity:.6;transition:all var(--transition-fast)}.quick-action-card:hover .quick-action-arrow{opacity:1;transform:translate(4px)}@media(max-width:768px){.quick-action-card{padding:var(--spacing-md)}.quick-action-icon{font-size:1.5rem}.quick-action-content h3{font-size:var(--font-size-lg)}}.stats-card{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--provectus-turquoise);transition:all var(--transition-base)}.stats-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stats-card--circular{flex-direction:column;align-items:center;text-align:center;border-left:none;padding:var(--spacing-xl) var(--spacing-lg)}.stats-icon{font-size:2rem;line-height:1;color:var(--provectus-turquoise)}.stats-content{flex:1}.stats-content h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.stats-value{font-size:2rem;font-weight:700;color:var(--anthracite);line-height:1;margin-bottom:var(--spacing-xs)}.stats-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--gray)}.circular-progress-container{position:relative;width:100px;height:100px;margin-bottom:var(--spacing-sm)}.circular-progress{width:100%;height:100%;transform:rotate(-90deg)}.circular-progress-bg{stroke:var(--light-gray)}.circular-progress-fill{stroke:var(--provectus-orange);stroke-linecap:round;transition:stroke-dashoffset .6s ease}.circular-progress-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.circular-progress-value{font-size:1.25rem;font-weight:700;color:var(--anthracite);line-height:1}.circular-progress-subtitle{font-size:.65rem;color:var(--gray);margin-top:2px;white-space:nowrap}.circular-progress-title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.stats-card{padding:var(--spacing-md);border-radius:var(--radius-md)}.stats-value{font-size:1.75rem}.circular-progress-container{width:100px;height:100px}.circular-progress-value{font-size:1.5rem}}.home{max-width:1400px;margin:0 auto;padding:0}.home-header{text-align:center;margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-md)}.home-header h1{background:linear-gradient(135deg,var(--provectus-orange),#ffa500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-sm);font-size:var(--font-size-4xl)}.home-subtitle{color:var(--gray);font-size:var(--font-size-lg);margin:0}.hero-section{position:relative;width:100%;min-height:500px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image{width:100%;height:100%;object-fit:cover;display:block}.hero-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));display:flex;align-items:center;justify-content:center;color:var(--white);font-size:var(--font-size-lg)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#3c3c3bd9,#3c3c3ba6);z-index:2}.hero-content{position:relative;z-index:3;padding:var(--spacing-2xl) var(--spacing-xl);color:var(--white);max-width:600px}.hero-badge{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md);letter-spacing:.5px}.hero-title{font-size:var(--font-size-4xl);font-weight:800;margin:0 0 var(--spacing-md) 0;color:var(--white);line-height:1.1}.hero-subtitle{font-size:var(--font-size-lg);margin:0 0 var(--spacing-md) 0;opacity:.95;line-height:1.6}.hero-date{font-size:var(--font-size-lg);margin:0 0 var(--spacing-xl) 0;opacity:.9;font-weight:500;color:var(--white);display:flex;align-items:center;gap:var(--spacing-sm)}.hero-date:before{content:"📅";font-size:var(--font-size-xl)}.hero-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.hero-btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family)}.hero-btn--primary{background:var(--provectus-orange);color:var(--white);box-shadow:0 4px 16px #f392004d}.hero-btn--primary:hover{background:var(--provectus-orange-hover);transform:translateY(-2px);box-shadow:0 6px 20px #f3920066}.hero-btn--secondary{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-btn--secondary:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-2px)}.home-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:0 var(--spacing-md)}.home-section{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.home-section:hover{box-shadow:var(--shadow-md)}.home-section h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-2xl);color:var(--anthracite);font-weight:700}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.meals-preview,.reservations-preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.meal-preview-card,.reservation-preview-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--light-gray);border-radius:var(--radius-md);border-left:4px solid var(--provectus-turquoise);transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.meal-preview-card:hover,.reservation-preview-card:hover{background:var(--light-gray-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.meal-preview-info,.reservation-preview-info{flex:1}.meal-preview-info h4,.reservation-preview-info h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);color:var(--anthracite);font-weight:600}.meal-preview-info p,.reservation-preview-info p{margin:4px 0;font-size:var(--font-size-sm);color:var(--gray)}.meal-price,.reservation-price{display:inline-block;margin-top:var(--spacing-xs);padding:4px 12px;background:var(--provectus-orange);color:var(--white);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-sm);box-shadow:0 2px 8px #f3920033}.reservation-progress-bar{width:100%;height:8px;background:var(--light-gray);border-radius:var(--radius-sm);overflow:hidden;margin:var(--spacing-md) 0}.reservation-progress-fill{height:100%;background:var(--provectus-orange);border-radius:var(--radius-sm);transition:width .3s ease}.reservation-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm)}.reservation-progress-text{font-size:var(--font-size-sm);font-weight:600;color:var(--gray)}.reserve-now-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--provectus-orange);color:var(--white);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;box-shadow:0 2px 8px #f3920033}.reserve-now-btn:hover{background:var(--provectus-orange-hover);transform:translateY(-2px);box-shadow:0 4px 12px #f392004d}.attention-section-subtitle{color:var(--gray);font-size:var(--font-size-base);margin:0 0 var(--spacing-md) 0;font-weight:500}.attention-meals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.attention-meal-card{background:var(--white);border:2px solid rgba(243,146,0,.2);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-base);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.attention-meal-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--provectus-orange)}.attention-meal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--provectus-orange)}.attention-meal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--light-gray)}.attention-meal-date{font-weight:600;color:var(--anthracite);font-size:var(--font-size-sm)}.attention-meal-badge{padding:2px 10px;background:#f392001a;color:var(--provectus-orange);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.attention-meal-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.attention-meal-title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--anthracite);line-height:1.4}.attention-meal-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.attention-meal-price{padding:4px 12px;background:var(--provectus-orange);color:var(--white);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-size-sm);box-shadow:0 2px 8px #f3920033}.attention-meal-warning{font-size:var(--font-size-sm);color:var(--provectus-orange);font-weight:600;display:flex;align-items:center;gap:4px}.reminder-section{background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white)}.reminder-section h2{color:var(--white);border-bottom-color:#fff3}.reminder-card{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#ffffff1a;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reminder-content{text-align:center;max-width:600px}.reminder-content strong{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-xl);font-weight:700;letter-spacing:.5px}.reminder-content p{margin:0;opacity:.95;line-height:1.6;font-size:var(--font-size-base)}.next-meal-section{background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white);margin-bottom:var(--spacing-xl)}.next-meal-section h2{color:var(--white);border-bottom-color:#fff3}.next-meal-card{display:flex;gap:var(--spacing-xl);align-items:center;background:#ffffff1a;border-radius:var(--radius-md);padding:var(--spacing-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.next-meal-image{flex-shrink:0;width:300px;height:300px;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 12px #0003;background:var(--white);display:flex;align-items:center;justify-content:center}.next-meal-img{width:100%;height:100%;object-fit:contain;display:block}.next-meal-image-placeholder{width:300px;height:300px;background:#fff3;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:var(--font-size-base);flex-shrink:0}.next-meal-info{flex:1;color:var(--white)}.next-meal-info h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);font-weight:700;color:var(--white)}.next-meal-date{margin:var(--spacing-xs) 0;font-size:var(--font-size-lg);opacity:.95}.next-meal-price{display:inline-block;margin:var(--spacing-md) 0 var(--spacing-xl) 0;padding:var(--spacing-sm) var(--spacing-md);background:var(--provectus-orange);color:var(--white);border-radius:var(--radius-sm);font-weight:700;font-size:var(--font-size-xl)}.next-meal-info .reserve-now-btn{margin-top:0;padding:var(--spacing-md) var(--spacing-xl);background:var(--white);color:var(--provectus-turquoise);font-size:var(--font-size-lg);font-weight:700;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px #0003;display:inline-block;text-align:center;min-width:200px}.next-meal-info .reserve-now-btn:hover:not(:disabled){background:#fffffff2;transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.next-meal-info .reserve-now-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0003}.next-meal-info .reserve-now-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:768px){.home{padding:0}.home-header{padding:var(--spacing-md) var(--spacing-md)}.home-header h1{font-size:var(--font-size-3xl)}.hero-section{min-height:400px;border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.hero-content{padding:var(--spacing-xl) var(--spacing-md)}.hero-title{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-base)}.hero-actions{flex-direction:column}.hero-btn{width:100%}.home-content{padding:0 var(--spacing-sm);gap:var(--spacing-xl)}.home-section{padding:var(--spacing-md);border-radius:var(--radius-md)}.quick-actions-grid,.stats-grid,.attention-meals-grid{grid-template-columns:1fr}.meal-preview-card,.reservation-preview-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.reserve-now-btn{width:100%}.next-meal-card{flex-direction:column;padding:var(--spacing-md)}.next-meal-image,.next-meal-image-placeholder{width:100%;height:200px}}.meals-management{padding:var(--spacing-xl) var(--spacing-md);max-width:100%;margin:0 auto;width:100%}.meals-header{margin-bottom:var(--spacing-xl);background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.meals-header h1{margin-bottom:var(--spacing-md);color:var(--anthracite);font-weight:700;font-size:var(--font-size-2xl)}.month-navigation{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xl);flex-wrap:wrap}.month-nav-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--provectus-turquoise);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.month-nav-btn:hover{background-color:var(--provectus-turquoise-hover);transform:translateY(-1px)}.month-name{color:var(--anthracite);font-weight:700;font-size:var(--font-size-xl);min-width:200px;text-align:center}.add-meal-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--provectus-orange);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast);box-shadow:0 2px 8px #f3920033}.add-meal-btn:hover{background-color:var(--provectus-orange-hover);transform:translateY(-1px);box-shadow:0 4px 12px #f392004d}.add-meal-form{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md);border:2px solid var(--provectus-turquoise)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--light-gray)}.form-header h3{margin:0;color:var(--anthracite);font-weight:700;font-size:var(--font-size-xl)}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--gray);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast)}.close-btn:hover{background:var(--light-gray);color:var(--anthracite)}.add-meal-form>div{margin-bottom:var(--spacing-md)}.add-meal-form label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--anthracite);font-size:var(--font-size-sm)}.add-meal-form input,.add-meal-form select,.add-meal-form textarea{width:100%;padding:10px 12px;border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color var(--transition-fast);box-sizing:border-box}.add-meal-form input:focus,.add-meal-form select:focus,.add-meal-form textarea:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.add-meal-form textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.submit-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--provectus-turquoise);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all var(--transition-fast);flex:1}.submit-btn:hover{background-color:var(--provectus-turquoise-hover);transform:translateY(-1px)}.cancel-btn-form{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--gray);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.cancel-btn-form:hover{background-color:var(--anthracite)}.delete-btn-form{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-danger);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.delete-btn-form:hover{background-color:var(--color-danger-hover);transform:translateY(-1px)}.secondary-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--light-gray);color:var(--anthracite);border:1.5px solid #E5E5E5;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);font-family:var(--font-family);transition:all var(--transition-fast)}.secondary-btn:hover{background-color:var(--light-gray-hover);border-color:var(--gray-lighter);transform:translateY(-1px)}.calendar-container{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);width:100%;max-width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-xs);width:100%}.calendar-day{min-height:120px;padding:var(--spacing-xs);border:2px solid var(--light-gray);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:all var(--transition-fast);position:relative;display:flex;flex-direction:column}.calendar-day-number{font-weight:700;color:var(--anthracite);font-size:var(--font-size-base);margin-bottom:2px}.calendar-meals{flex:1;display:flex;flex-direction:column;gap:2px;margin-top:2px}.calendar-meal-item{font-size:var(--font-size-xs);padding:4px 6px;background:var(--provectus-turquoise);color:var(--white);border-radius:4px;display:flex;align-items:center;gap:4px;overflow:hidden}.meal-dot{width:6px;height:6px;background:var(--white);border-radius:50%;flex-shrink:0}.meal-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.meal-price-small{font-size:.7rem;opacity:.9;white-space:nowrap}.meal-price{font-weight:700;color:var(--provectus-orange);font-size:1.1em;margin-left:var(--spacing-sm)}@media(max-width:768px){.meals-management{padding:var(--spacing-md) var(--spacing-sm)}.meals-header{padding:var(--spacing-md)}.month-navigation{gap:var(--spacing-md)}.month-name{font-size:var(--font-size-lg);min-width:auto;order:-1;width:100%}.calendar-grid{gap:2px}.calendar-weekday-header{padding:var(--spacing-xs) 4px;font-size:var(--font-size-xs)}.calendar-day{min-height:80px;padding:2px}.calendar-day-number{font-size:var(--font-size-sm)}.calendar-meal-item{font-size:.65rem;padding:2px 4px}.meal-text{display:none}.meal-price-small{font-size:.6rem}.calendar-hover-hint{font-size:.6rem;padding:2px 4px}}@media(max-width:480px){.calendar-day{min-height:60px}.calendar-meal-item{padding:2px 3px}.calendar-meal-more{font-size:.6rem}}.recipes-page{padding:var(--spacing-xl) var(--spacing-md);max-width:1400px;margin:0 auto}.recipes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.recipes-header h1{margin:0;color:var(--anthracite);font-size:var(--font-size-2xl)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--spacing-xl)}.recipe-card{background:var(--white);border:1px solid var(--light-gray);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.recipe-card:hover{box-shadow:var(--shadow-md)}.recipe-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.recipe-card-header h3{margin:0;color:var(--anthracite);flex:1;font-size:var(--font-size-xl)}.recipe-actions{display:flex;gap:var(--spacing-xs)}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:4px 8px;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);color:var(--gray)}.btn-icon:hover{background-color:var(--light-gray);color:var(--anthracite)}.recipe-image{width:100%;height:200px;margin-bottom:var(--spacing-md);border-radius:var(--radius-sm);overflow:hidden;background-color:var(--light-gray)}.recipe-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--gray);font-style:italic}.recipe-details,.recipe-section{margin-bottom:var(--spacing-md)}.recipe-section h4{margin:0 0 var(--spacing-xs) 0;color:var(--gray);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.recipe-section ul{margin:0;padding-left:var(--spacing-lg)}.recipe-section li{margin-bottom:4px}.recipe-instructions{white-space:pre-wrap;line-height:1.6;margin:0;color:var(--anthracite)}.recipe-meta{display:flex;justify-content:space-between;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-gray);font-size:var(--font-size-sm);color:var(--gray)}.recipe-comments-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-gray)}.btn-toggle-comments{background:none;border:none;cursor:pointer;color:var(--blue-1);font-size:var(--font-size-sm);padding:var(--spacing-xs) 0;text-align:left;width:100%;font-weight:500}.btn-toggle-comments:hover{color:var(--provectus-turquoise);text-decoration:underline}.comments-container{margin-top:var(--spacing-md)}.comment{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--light-gray);border-radius:var(--radius-sm)}.comment-header{display:flex;flex-direction:column;gap:var(--spacing-xs)}.comment-author{display:flex;align-items:center;gap:var(--spacing-sm)}.comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.comment-author strong{color:var(--anthracite)}.comment-author small{color:var(--gray);font-size:var(--font-size-xs)}.comment-content{margin-top:var(--spacing-xs)}.comment-content p{margin:0 0 var(--spacing-xs) 0;white-space:pre-wrap}.comment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.comment-edit-form textarea{width:100%;padding:var(--spacing-sm);border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-family:var(--font-family);resize:vertical;margin-bottom:var(--spacing-sm)}.comment-edit-form textarea:focus{outline:none;border-color:var(--provectus-turquoise)}.add-comment-form{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-gray)}.add-comment-form textarea{width:100%;padding:var(--spacing-sm);border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-family:var(--font-family);resize:vertical;margin-bottom:var(--spacing-sm)}.add-comment-form textarea:focus{outline:none;border-color:var(--provectus-turquoise)}.recipe-form-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md)}.recipe-form{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.recipe-form h2{margin:0 0 var(--spacing-lg) 0;color:var(--anthracite);font-size:var(--font-size-xl)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--anthracite);font-weight:600;font-size:var(--font-size-sm)}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:10px 12px;border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.form-group textarea{resize:vertical;min-height:100px}.ingredients-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md)}.ingredients-table th,.ingredients-table td{padding:var(--spacing-xs);border:1px solid var(--light-gray);text-align:left}.ingredients-table th{background-color:var(--light-gray);font-weight:600;font-size:var(--font-size-sm);color:var(--gray)}.ingredients-table input{width:100%;padding:8px;border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm)}.ingredients-table input:focus{outline:none;border-color:var(--provectus-turquoise)}.btn-remove{background:var(--color-danger);color:var(--white);border:none;border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-fast)}.btn-remove:hover:not(:disabled){background:var(--color-danger-hover)}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.btn-add-ingredient{background:var(--color-success);color:var(--white);border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);transition:all var(--transition-fast)}.btn-add-ingredient:hover{background:var(--color-success-hover)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl)}.btn-primary{background:var(--provectus-turquoise);color:var(--white);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--provectus-turquoise-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--light-gray);color:var(--anthracite);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--light-gray-hover)}.scaled-ingredients-preview{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#00a8b80d;border-radius:var(--radius-sm);border-left:3px solid var(--provectus-turquoise)}.scaled-ingredients-preview strong{display:block;margin-bottom:var(--spacing-xs);color:var(--provectus-turquoise)}.scaled-ingredients-preview ul{margin:0;padding-left:var(--spacing-lg)}@media(max-width:768px){.recipes-page{padding:var(--spacing-md) var(--spacing-sm)}.recipes-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.recipes-grid{grid-template-columns:1fr}.recipe-form{padding:var(--spacing-md);max-height:95vh}.form-actions{flex-direction:column}.form-actions button{width:100%}}.reservations-view{padding:var(--spacing-xl) var(--spacing-md);max-width:1400px;margin:0 auto}.reservations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md);background:var(--white);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.reservations-header h1{color:var(--anthracite);font-weight:700;margin:0;font-size:var(--font-size-2xl)}.reservations-controls{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.filter-input{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;transition:border-color var(--transition-fast);min-width:200px}.export-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--provectus-turquoise);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all var(--transition-fast)}.export-btn:hover{background-color:var(--provectus-turquoise-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00a8b840}.reservations-table{width:100%;border-collapse:collapse;background:var(--white);box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden}.reservations-table thead{background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white)}.reservations-table th{padding:var(--spacing-md) var(--spacing-sm);text-align:left;font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.reservations-table td{padding:var(--spacing-md) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--light-gray);color:var(--anthracite);vertical-align:middle}.reservations-table tbody tr:last-child td{border-bottom:none}.pay-btn{padding:.5rem 1rem;background-color:var(--blue-1);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.pay-btn:hover{background-color:#0e7aa6;transform:translateY(-1px);box-shadow:0 2px 4px #0e7aa64d}.pay-btn.paid{background-color:#2ecc71}.pay-btn.paid:hover{background-color:#27ae60}.add-guests-btn{padding:.5rem 1rem;background-color:var(--provectus-orange);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.add-guests-btn:hover{background-color:#d68200;transform:translateY(-1px);box-shadow:0 2px 4px #f392004d}.cancel-reservation-btn{padding:.5rem 1rem;background-color:#e74c3c;color:var(--white);border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.cancel-reservation-btn:hover{background-color:#c0392b;transform:translateY(-1px);box-shadow:0 2px 4px #e74c3c4d}.payment-modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.payment-modal-content{background:var(--white);border-radius:10px;width:min(540px,100%);box-shadow:0 10px 30px #00000026;overflow:hidden}.payment-body{display:flex;flex-direction:column;gap:1rem}.payment-meal{display:flex;align-items:center;justify-content:space-between;gap:1rem}.payment-date{margin:.25rem 0 0;color:var(--gray)}.payment-amount{font-weight:800;font-size:1.1rem;color:var(--anthracite)}.paypal-section{background:var(--light-gray);border-radius:8px;padding:1rem;text-align:center}.paypal-link{display:inline-block;margin:.5rem 0;font-weight:700;color:var(--blue-1);word-break:break-all}.paypal-missing{margin:0;color:var(--gray)}.qr-wrapper{display:flex;align-items:center;justify-content:center;padding:.5rem 0 0}.paid-checkbox{display:flex;gap:.5rem;align-items:center;font-weight:600}.error-message.inline{margin:.5rem 0 0}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #c33}.success-message{background-color:#efe;color:#3c3;padding:1rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #3c3}.loading{text-align:center;padding:2rem;color:var(--gray);font-size:1.1rem;background:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000000d}.no-reservations{text-align:center;padding:3rem;background:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000000d}.no-reservations p{color:var(--gray);font-size:1.1rem;margin:0}.reservations-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.reservations-mobile-cards{display:none;flex-direction:column;gap:var(--spacing-md)}.reservation-mobile-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.reservation-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-sm)}.reservation-mobile-meal-name{font-weight:700;font-size:var(--font-size-lg);color:var(--anthracite);margin:0;flex:1}.reservation-mobile-status{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.reservation-mobile-status.paid{background-color:var(--color-success-bg);color:var(--color-success)}.reservation-mobile-status.unpaid{background-color:var(--color-warning-bg);color:var(--color-warning)}.reservation-mobile-details{display:flex;flex-direction:column;gap:var(--spacing-xs);color:var(--gray);font-size:var(--font-size-sm)}.reservation-mobile-detail{display:flex;gap:var(--spacing-sm)}.reservation-mobile-detail-label{font-weight:500;min-width:80px}.reservation-mobile-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--light-gray)}.reservation-mobile-actions button{flex:1;min-width:100px;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.reservation-mobile-actions .pay-btn{background-color:var(--blue-1);color:var(--white)}.reservation-mobile-actions .pay-btn:hover{background-color:var(--blue-1-hover)}.reservation-mobile-actions .pay-btn.paid{background-color:var(--color-success)}.reservation-mobile-actions .pay-btn.paid:hover{background-color:var(--color-success-hover)}.reservation-mobile-actions .add-guests-btn{background-color:var(--provectus-orange);color:var(--white)}.reservation-mobile-actions .add-guests-btn:hover{background-color:var(--provectus-orange-hover)}.reservation-mobile-actions .cancel-reservation-btn{background-color:var(--color-danger);color:var(--white)}.reservation-mobile-actions .cancel-reservation-btn:hover{background-color:var(--color-danger-hover)}.meal-reservation-group{background:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.meal-header{background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.meal-info-header{flex:1}.meal-name{margin:0 0 .5rem;color:var(--white);font-weight:700;font-size:1.25rem}.meal-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.meal-date{font-weight:600;opacity:.95}.meal-price{font-weight:700;font-size:1.1rem;background:#fff3;padding:.25rem .75rem;border-radius:4px}.reservation-count{font-weight:600;font-size:1rem;background:#fff3;padding:.5rem 1rem;border-radius:4px}.reservations-list{padding:1rem 1.5rem}.reservations-summary{text-align:center;padding:1.5rem;background:var(--white);border-radius:8px;box-shadow:0 2px 8px #0000000d;color:var(--anthracite);font-weight:600;font-size:1.1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid var(--light-gray)}.modal-header h3{margin:0;color:var(--anthracite);font-weight:700}.modal-close-btn{background:none;border:none;font-size:2rem;color:var(--gray);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close-btn:hover{background:var(--light-gray);color:var(--anthracite)}.modal-body{padding:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--anthracite);font-weight:600}.form-input{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--provectus-turquoise)}.selected-meal-info{background:var(--light-gray);padding:1rem;border-radius:4px;margin-bottom:1rem}.selected-meal-info p{margin:.5rem 0;color:var(--anthracite)}.guest-price-info{background:var(--light-gray);padding:1rem;border-radius:4px;margin-top:.5rem}.guest-price-info p{margin:.25rem 0;color:var(--anthracite)}.guest-price-info p:first-child{font-weight:700;font-size:1.1rem;color:var(--provectus-orange)}.guest-breakdown{font-size:.9rem;color:var(--gray)}.guest-info{margin-top:.5rem;padding:.75rem;background:#f392001a;border-radius:4px;border-left:3px solid var(--provectus-orange)}.reservation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.reservation-modal-content{background:var(--white);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.reservation-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid var(--light-gray)}.reservation-modal .modal-header h3{margin:0;color:var(--anthracite);font-weight:700;font-size:1.5rem}.reservation-modal .modal-body{padding:1.5rem}.reservation-modal .modal-meal-image{width:100%;margin-bottom:1rem;border-radius:8px;overflow:hidden}.reservation-modal .modal-meal-image img{width:100%;height:auto;max-height:300px;object-fit:contain;display:block}.reservation-modal .modal-meal-image-placeholder{width:100%;height:200px;background:var(--light-gray);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--gray);margin-bottom:1rem}.reservation-modal .modal-meal-info{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--light-gray)}.reservation-modal .modal-meal-info strong{display:block;margin-bottom:.5rem;color:var(--anthracite);font-weight:700;font-size:1.1rem}.reservation-modal .modal-meal-info p{margin:.25rem 0;color:var(--gray)}.reservation-modal .guest-selection{margin-top:1rem}.reservation-modal .guest-selection label{display:block;margin-bottom:.5rem;color:var(--anthracite);font-weight:600}.reservation-modal .guest-input{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:4px;font-size:1rem;margin-bottom:1rem;transition:border-color .2s ease}.reservation-modal .guest-input:focus{outline:none;border-color:var(--provectus-turquoise)}.reservation-modal .guest-price-info{background:var(--light-gray);padding:1rem;border-radius:4px;margin-top:1rem}.reservation-modal .guest-price-info p{margin:.25rem 0;color:var(--anthracite)}.reservation-modal .guest-price-info p:first-child{font-weight:700;font-size:1.1rem;color:var(--provectus-orange)}.reservation-modal .guest-breakdown{font-size:.9rem;color:var(--gray)}.reservation-modal .modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:2px solid var(--light-gray)}.reservation-modal .modal-actions button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.reservation-modal .modal-actions .reserve-btn{background-color:var(--provectus-orange);color:var(--white)}.reservation-modal .modal-actions .reserve-btn:hover{background-color:#d68200;transform:translateY(-2px);box-shadow:0 4px 12px #f392004d}.reservation-modal .modal-actions .cancel-btn{background-color:var(--light-gray);color:var(--anthracite)}.reservation-modal .modal-actions .cancel-btn:hover{background-color:#e8e8e8}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:2px solid var(--light-gray)}.modal-actions button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease}.modal-actions .reserve-btn:hover{background-color:#d68200;transform:translateY(-1px);box-shadow:0 4px 8px #f392004d}.modal-actions .cancel-btn{background-color:#e74c3c;color:var(--white)}.modal-actions .cancel-btn:hover{background-color:#c0392b;transform:translateY(-1px)}@media(max-width:768px){.reservations-view{padding:var(--spacing-md) var(--spacing-sm)}.reservations-header{flex-direction:column;align-items:stretch;padding:var(--spacing-md)}.reservations-header h1{font-size:var(--font-size-xl)}.reservations-controls{width:100%;flex-direction:column}.filter-input{width:100%;min-width:auto}.export-btn{width:100%}.reservations-table-container{display:none}.reservations-mobile-cards{display:flex}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.meal-header{flex-direction:column;align-items:flex-start}.meal-info-header{width:100%}.reservation-count{width:100%;text-align:center}.reservations-list{padding:var(--spacing-sm) var(--spacing-md)}.reservations-table{display:none}.meal-name{font-size:var(--font-size-lg)}.meal-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.payment-modal-content{width:100%;max-height:90vh}.payment-body{padding:var(--spacing-md)}.reservation-modal-content{max-height:90vh}.reservation-modal .modal-body{padding:var(--spacing-md)}}.reserve-meal{padding:var(--spacing-xl) var(--spacing-md);max-width:1400px;margin:0 auto}.available-meals-section{margin-bottom:var(--spacing-xl)}.month-navigation{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.reserve-meal .reminder-section{margin-top:var(--spacing-xl);background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white);border-radius:var(--radius-md);padding:var(--spacing-lg)}.reserve-meal .reminder-section .reminder-card{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#ffffff1a;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reserve-meal .reminder-section .reminder-content{text-align:center;max-width:600px}.reserve-meal .reminder-section .reminder-content strong{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:700;letter-spacing:.5px}.reserve-meal .reminder-section .reminder-content p{margin:0;opacity:.95;line-height:1.6;font-size:var(--font-size-base)}.calendar-container{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:var(--spacing-xs);width:100%;min-width:700px}.calendar-weekday-header{text-align:center;font-weight:700;color:var(--anthracite);padding:var(--spacing-sm);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.calendar-day{min-height:140px;padding:var(--spacing-xs);border:2px solid var(--light-gray);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:all var(--transition-fast);position:relative;display:flex;flex-direction:column}.calendar-day.weekend{background:var(--light-gray);cursor:not-allowed;opacity:.6}.calendar-day.other-month{opacity:.4}.calendar-day.today{border-color:var(--provectus-orange);border-width:3px}.calendar-day.mixed-state{cursor:pointer}.calendar-day.mixed-state:hover{border-color:var(--provectus-turquoise);background:#00a8b805;transform:translateY(-2px);box-shadow:0 4px 8px #00a8b833}.calendar-day.past{background:var(--light-gray);opacity:.5;cursor:not-allowed;pointer-events:none}.calendar-day.past .calendar-day-number,.calendar-day.past .calendar-meal-item,.calendar-day.past .calendar-meal-more{color:var(--gray);opacity:.7}.calendar-day:hover:not(.weekend):not(.past){border-color:var(--provectus-turquoise);background:#00a8b805;transform:translateY(-2px);box-shadow:0 4px 8px #00a8b833}.calendar-day.hovered:not(.weekend):not(.past){border-color:var(--provectus-turquoise);background:#00a8b80d}.calendar-day.empty-day{border:none;background:transparent;cursor:default}.calendar-day.no-meal{background:var(--light-gray)}.calendar-day.has-reserved{background:#27ae6014;border-color:var(--color-success)}.calendar-day.has-available{background:#00a8b814;border-color:var(--provectus-turquoise)}.calendar-day.selected{border-color:var(--provectus-orange)!important;border-width:3px!important;box-shadow:0 0 0 2px #f392004d}.calendar-day-content{display:flex;align-items:center;justify-content:space-between;gap:4px}.calendar-day-number{font-weight:700;color:var(--anthracite);font-size:var(--font-size-base);margin-bottom:4px;text-align:center}.calendar-day.today .calendar-day-number{color:var(--provectus-orange)}.desktop-calendar-meals{flex:1;display:flex;flex-direction:column}.calendar-meals{flex:1;display:flex;flex-direction:column;gap:4px;margin-top:4px;overflow:hidden}.calendar-meal-item{position:relative;font-size:var(--font-size-xs);padding:6px 8px;background:var(--provectus-turquoise);color:var(--white);border-radius:4px;display:flex;align-items:center;gap:6px;overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.calendar-meal-item:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.calendar-meal-item.reserved{background:var(--color-success)}.calendar-meal-item.cutoff-passed{background:var(--gray);opacity:.7}.calendar-meal-image{width:40px;height:40px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#fff3;border:1px solid rgba(255,255,255,.3)}.calendar-meal-image-placeholder{width:40px;height:40px;border-radius:6px;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;border:1px solid rgba(255,255,255,.3)}.meal-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;min-width:0}.meal-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.meal-meta-row{display:flex;align-items:center;gap:6px;font-size:.7rem;opacity:.95;flex-shrink:0}.meal-price-small{font-weight:600}.meal-time-small{opacity:.85}.calendar-meal-more{font-size:var(--font-size-xs);color:var(--provectus-turquoise);font-weight:600;padding:4px;text-align:center}.calendar-hover-hint{position:absolute;bottom:var(--spacing-xs);left:50%;transform:translate(-50%);background:var(--provectus-orange);color:var(--white);padding:4px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;pointer-events:none;z-index:10}.calendar-action-hint{position:absolute;bottom:var(--spacing-xs);left:50%;transform:translate(-50%);background:var(--provectus-orange);color:var(--white);padding:6px 12px;border-radius:6px;font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;cursor:pointer;z-index:10;border:none;transition:all var(--transition-fast);box-shadow:0 2px 8px #f392004d}.calendar-action-hint:hover:not(:disabled){background:var(--provectus-orange-hover);transform:translate(-50%) translateY(-1px);box-shadow:0 4px 12px #f3920066}.calendar-action-hint:disabled{background:var(--gray);cursor:not-allowed;box-shadow:none;opacity:.7}.calendar-action-hint.cutoff-hint{background:var(--gray)}.calendar-action-hint.mixed-hint{background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));font-size:.7rem;padding:6px 10px}.meal-count-badge{background:#fffffff2;color:var(--anthracite);border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:600;min-width:18px;text-align:center;box-shadow:0 1px 3px #0000001a}@media(max-width:768px){.meal-count-badge{font-size:.75rem;padding:3px 8px;min-width:22px}}.meal-reserved-indicator{font-size:.7rem;margin-left:2px;flex-shrink:0}@media(max-width:768px){.calendar-grid{grid-template-columns:repeat(5,1fr);min-width:auto;gap:6px}.calendar-day{min-height:70px;aspect-ratio:1;padding:var(--spacing-xs)}.calendar-day-number{font-size:var(--font-size-lg);font-weight:700;margin-bottom:0}.desktop-calendar-meals{display:none}.calendar-day.no-meal{background:var(--light-gray);border-color:var(--light-gray)}.calendar-day.has-reserved{background:#27ae6026;border-color:var(--color-success)}.calendar-day.has-available{background:#00a8b826;border-color:var(--provectus-turquoise)}.calendar-day.mixed-state{background:linear-gradient(135deg,#27ae6026 50%,#00a8b826 50%);border-color:var(--provectus-turquoise)}.calendar-day.selected{border-width:3px!important;box-shadow:0 0 0 2px #f3920066,0 4px 12px #00000026;transform:scale(1.02)}.calendar-day.past-day{opacity:.4}}.selected-day-meals{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selected-day-meals-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--provectus-turquoise),var(--blue-1));color:var(--white)}.selected-day-meals-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600}.close-selected-day{background:#fff3;border:none;color:var(--white);font-size:1.5rem;width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.close-selected-day:hover{background:#ffffff4d}.selected-day-meals-list{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.selected-day-meal-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--light-gray);border-radius:var(--radius-sm);border-left:4px solid var(--provectus-turquoise)}.selected-day-meal-card.reserved{border-left-color:var(--color-success);background:#27ae6014}.selected-day-meal-card-image{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.selected-day-meal-card-image img{width:100%;height:100%;object-fit:cover}.selected-day-meal-card-image-placeholder{width:100%;height:100%;background:var(--light-gray);display:flex;align-items:center;justify-content:center;font-size:2rem}.selected-day-meal-card-content{flex:1;min-width:0}.selected-day-meal-card-content h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:600;color:var(--anthracite)}.selected-day-meal-card-meta{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--gray)}.selected-day-meal-card-price{font-weight:600;color:var(--provectus-orange)}.selected-day-meal-card-badge{display:inline-block;margin-top:var(--spacing-xs);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.selected-day-meal-card-badge.reserved{background:var(--color-success);color:var(--white)}.selected-day-meal-card-badge.unavailable{background:var(--gray);color:var(--white)}.selected-day-meal-card-actions{display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;flex-shrink:0}.selected-day-meal-card-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.selected-day-meal-card-btn.reservieren{background:var(--provectus-orange);color:var(--white)}.selected-day-meal-card-btn.reservieren:hover{background:var(--provectus-orange-hover);transform:translateY(-1px);box-shadow:0 2px 8px #f392004d}.selected-day-meal-card-btn.stornieren{background:var(--color-danger);color:var(--white)}.selected-day-meal-card-btn.stornieren:hover{background:var(--color-danger-hover);transform:translateY(-1px);box-shadow:0 2px 8px #e74c3c4d}@media(max-width:600px){.selected-day-meal-card{flex-direction:column;gap:var(--spacing-sm)}.selected-day-meal-card-image{width:100%;height:120px}.selected-day-meal-card-actions{flex-direction:row}.selected-day-meal-card-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md)}.calendar-day{min-height:60px;aspect-ratio:1}.calendar-day-number{font-size:var(--font-size-base)}}@media(max-width:480px){.calendar-grid{gap:4px}.calendar-day{min-height:50px;padding:4px}.calendar-day-number{font-size:var(--font-size-sm)}.calendar-weekday-header{font-size:.7rem;padding:var(--spacing-xs)}}@media(min-width:769px){.desktop-calendar-meals{display:flex!important}}@media(min-width:769px){.calendar-grid{grid-template-columns:repeat(5,minmax(140px,1fr));min-width:700px}.calendar-day{min-height:140px;padding:var(--spacing-xs)}.calendar-day-number{font-size:var(--font-size-base);margin-bottom:4px}.calendar-meal-item{padding:6px 8px;font-size:.75rem;gap:6px}.calendar-meal-image,.calendar-meal-image-placeholder{width:40px;height:40px;font-size:1.4rem}}.reservations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1.25rem;background:var(--white);padding:1.75rem 2rem;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;border:1px solid rgba(0,0,0,.03)}.reservations-header h1{color:var(--anthracite);font-weight:700;margin:0;font-size:1.75rem;letter-spacing:-.02em}.reservations-controls{display:flex;gap:.875rem;align-items:center;flex-wrap:wrap}.filter-input{padding:.875rem 1.25rem;border:1.5px solid #E5E5E5;border-radius:10px;font-size:.9375rem;font-family:inherit;transition:all .2s ease;min-width:220px;background:var(--white);color:var(--anthracite)}.filter-input::placeholder{color:var(--gray);opacity:.7}.filter-input:hover{border-color:#d0d0d0}.filter-input:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.export-btn,.spontaneous-btn{padding:.875rem 1.75rem;background-color:var(--provectus-turquoise);color:var(--white);border:none;border-radius:10px;cursor:pointer;font-size:.9375rem;font-weight:600;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem}.export-btn:hover{background-color:#0099a8;transform:translateY(-2px);box-shadow:0 6px 20px #00a8b840}.spontaneous-btn{background-color:var(--provectus-orange)}.spontaneous-btn:hover{background-color:#e08600;transform:translateY(-2px);box-shadow:0 6px 20px #f3920040}.reservations-clustered{display:flex;flex-direction:column;gap:1.5rem}.meal-reservation-group{background:var(--white);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;overflow:hidden;border:1px solid rgba(0,0,0,.03);transition:box-shadow .3s ease}.meal-reservation-group:hover{box-shadow:0 2px 8px #0000000f,0 8px 24px #0000000a}.meal-header{background:linear-gradient(135deg,var(--provectus-turquoise) 0%,#00c4d4 100%);color:var(--white);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;position:relative;overflow:hidden}.meal-header:before{content:"";position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:#ffffff0d;border-radius:50%}.meal-header:after{content:"";position:absolute;bottom:-30%;left:20%;width:120px;height:120px;background:#ffffff08;border-radius:50%}.meal-info-header{flex:1;position:relative;z-index:1}.meal-name{margin:0 0 .625rem;color:var(--white);font-weight:600;font-size:1.25rem;letter-spacing:-.01em}.meal-meta{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.meal-date{font-weight:500;opacity:.95;font-size:.9375rem}.meal-price{font-weight:700;font-size:1rem;background:#ffffff2e;padding:.375rem .875rem;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.meal-max-eaters{font-weight:500;font-size:.875rem;opacity:.9;background:#ffffff1a;padding:.375rem .75rem;border-radius:6px}.reservation-count{font-weight:600;font-size:.9375rem;background:#ffffff2e;padding:.5rem 1.125rem;border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;z-index:1;white-space:nowrap}.reservations-list{padding:0}.reservations-table{width:100%;border-collapse:collapse}.reservations-table thead{background:#fafafa;border-bottom:1.5px solid #F0F0F0}.reservations-table th{padding:1rem 1.5rem;text-align:left;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);font-weight:600}.reservations-table tbody tr{transition:background-color .2s ease;border-bottom:1px solid #F5F5F5}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table tbody tr:hover{background-color:#00a8b805}.reservations-table td{padding:1.125rem 1.5rem;text-align:left;color:var(--anthracite);font-size:.9375rem;vertical-align:middle}.reservations-table td:first-child{font-weight:500}.reservations-table td:nth-child(2) span{display:inline-flex;align-items:center;gap:.375rem}.reservations-table td:nth-child(3){font-weight:600;color:var(--provectus-orange)}.reservations-table td:nth-child(4){color:var(--gray);font-size:.875rem;font-weight:500}.reservation-actions{display:flex;gap:.5rem;flex-wrap:wrap}.pay-btn{padding:.5rem 1rem;background-color:var(--blue-1);color:var(--white);border:none;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.pay-btn:hover{background-color:#3a72a0;transform:translateY(-1px);box-shadow:0 4px 12px #4380ac4d}.pay-btn.paid{background-color:#27ae60}.pay-btn.paid:hover{background-color:#219a52;box-shadow:0 4px 12px #27ae604d}.add-guests-btn{padding:.5rem 1rem;background-color:var(--provectus-orange);color:var(--white);border:none;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.add-guests-btn:hover{background-color:#e08600;transform:translateY(-1px);box-shadow:0 4px 12px #f392004d}.cancel-reservation-btn{padding:.5rem 1rem;background-color:transparent;color:#e74c3c;border:1.5px solid #f5d6d6;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.cancel-reservation-btn:hover{background-color:#fdf2f2;border-color:#e74c3c;transform:translateY(-1px)}.reservations-summary{text-align:center;padding:1.75rem 2rem;background:linear-gradient(135deg,#fafafa,#f8f8f8);border-radius:16px;box-shadow:0 1px 3px #0000000a;color:var(--anthracite);font-weight:500;font-size:1rem;border:1px solid rgba(0,0,0,.03)}.reservations-summary p{margin:0}.error-message{background-color:#fef5f5;color:#c0392b;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #E74C3C;font-size:.9375rem;display:flex;align-items:center;gap:.75rem}.error-message:before{content:"!";width:20px;height:20px;background:#e74c3c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.error-message.inline{margin:.75rem 0 0}.success-message{background-color:#f0f9f4;color:#27ae60;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #27AE60;font-size:.9375rem;display:flex;align-items:center;gap:.75rem}.success-message:before{content:"✓";width:20px;height:20px;background:#27ae60;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.loading{text-align:center;padding:4rem 2rem;color:var(--gray);font-size:1rem;background:var(--white);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.loading:after{content:"";width:40px;height:40px;border:3px solid #F0F0F0;border-top-color:var(--provectus-turquoise);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-reservations{text-align:center;padding:4rem 3rem;background:var(--white);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.no-reservations p{color:var(--gray);font-size:1.0625rem;margin:0}.no-reservations:before{content:"📋";font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.reservations-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.payment-modal{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.payment-modal-content{background:var(--white);border-radius:20px;width:min(520px,100%);box-shadow:0 20px 60px #0003;overflow:hidden;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.payment-body{display:flex;flex-direction:column;gap:1.25rem;padding:2rem}.payment-meal{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid #F0F0F0}.payment-meal strong{font-size:1.125rem;color:var(--anthracite);display:block;margin-bottom:.25rem}.payment-date{margin:0;color:var(--gray);font-size:.9375rem}.payment-amount{font-weight:800;font-size:1.5rem;color:var(--provectus-orange)}.paypal-section{background:linear-gradient(135deg,#f8fafb,#f0f4f8);border-radius:12px;padding:1.5rem;text-align:center;border:1px solid #E8EEF2}.paypal-section p{margin:0 0 .75rem;color:var(--gray);font-size:.9375rem}.paypal-link{display:inline-block;margin:.5rem 0 1rem;font-weight:700;color:var(--blue-1);word-break:break-all;font-size:.9375rem;padding:.5rem 1rem;background:var(--white);border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.paypal-link:hover{color:var(--provectus-turquoise);box-shadow:0 2px 8px #00a8b826}.paypal-missing{margin:0;color:var(--gray);font-style:italic}.qr-wrapper{display:flex;align-items:center;justify-content:center;padding:.75rem 0 0}.qr-wrapper img{border-radius:8px;box-shadow:0 2px 8px #0000001a}.paid-checkbox{display:flex;gap:.75rem;align-items:center;font-weight:600;color:var(--anthracite);cursor:pointer;padding:.75rem 1rem;background:#fafafa;border-radius:10px;transition:background .2s ease}.paid-checkbox:hover{background:#f5f5f5}.paid-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--provectus-turquoise);cursor:pointer}.spontaneous-modal{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.spontaneous-modal-content{background:var(--white);border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #F0F0F0;background:#fafafa}.modal-header h3{margin:0;color:var(--anthracite);font-weight:600;font-size:1.25rem}.modal-close-btn{background:var(--white);border:1px solid #E5E5E5;font-size:1.5rem;color:var(--gray);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.modal-close-btn:hover{background:#f5f5f5;color:var(--anthracite);border-color:#d0d0d0}.modal-body{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.625rem;color:var(--anthracite);font-weight:600;font-size:.9375rem}.form-input{width:100%;padding:.875rem 1.125rem;border:1.5px solid #E5E5E5;border-radius:10px;font-size:1rem;font-family:inherit;transition:all .2s ease;background:var(--white)}.form-input:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.selected-meal-info{background:linear-gradient(135deg,#fafafa,#f5f5f5);padding:1.25rem;border-radius:12px;margin-bottom:1.25rem;border:1px solid #F0F0F0}.selected-meal-info p{margin:.5rem 0;color:var(--anthracite);font-size:.9375rem}.selected-meal-info strong{color:var(--anthracite);font-size:1rem}.guest-price-info{background:linear-gradient(135deg,#fff8f0,#fff5eb);padding:1.25rem;border-radius:12px;margin-top:.75rem;border:1px solid #FFE8CC}.guest-price-info p{margin:.375rem 0;color:var(--anthracite)}.guest-price-info p:first-child{font-weight:700;font-size:1.125rem;color:var(--provectus-orange)}.guest-breakdown{font-size:.875rem;color:var(--gray)}.guest-info{margin-top:.75rem;padding:.875rem 1rem;background:#f392000f;border-radius:10px;border-left:3px solid var(--provectus-orange)}.guest-note{margin:0;font-size:.875rem;color:var(--anthracite)}.reservation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.reservation-modal-content{background:var(--white);border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.reservation-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #F0F0F0;background:#fafafa}.reservation-modal .modal-header h3{margin:0;color:var(--anthracite);font-weight:600;font-size:1.25rem}.reservation-modal .modal-body{padding:2rem}.reservation-modal .modal-meal-image{width:100%;margin-bottom:1.25rem;border-radius:12px;overflow:hidden}.reservation-modal .modal-meal-image img{width:100%;height:auto;max-height:280px;object-fit:contain;display:block;background:#fafafa}.reservation-modal .modal-meal-image-placeholder{width:100%;height:180px;background:linear-gradient(135deg,#fafafa,#f0f0f0);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:1rem}.reservation-modal .modal-meal-info{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #F0F0F0}.reservation-modal .modal-meal-info strong{display:block;margin-bottom:.5rem;color:var(--anthracite);font-weight:600;font-size:1.0625rem}.reservation-modal .modal-meal-info p{margin:.375rem 0;color:var(--gray);font-size:.9375rem}.reservation-modal .modal-meal-info .meal-price{display:inline-block;margin-top:.5rem;font-weight:700;color:var(--provectus-orange);background:#f392001a;padding:.375rem .75rem;border-radius:6px}.reservation-modal .guest-selection{margin-top:1.25rem}.reservation-modal .guest-selection label{display:block;margin-bottom:.625rem;color:var(--anthracite);font-weight:600;font-size:.9375rem}.reservation-modal .guest-input{width:100%;padding:.875rem 1.125rem;border:1.5px solid #E5E5E5;border-radius:10px;font-size:1rem;margin-bottom:1rem;transition:all .2s ease;background:var(--white)}.reservation-modal .guest-input:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00a8b81a}.reservation-modal .guest-price-info{background:linear-gradient(135deg,#fff8f0,#fff5eb);padding:1.25rem;border-radius:12px;margin-top:1.25rem;border:1px solid #FFE8CC}.reservation-modal .guest-price-info p{margin:.375rem 0;color:var(--anthracite)}.reservation-modal .guest-price-info p:first-child{font-weight:700;font-size:1.125rem;color:var(--provectus-orange)}.reservation-modal .guest-breakdown{font-size:.875rem;color:var(--gray)}.modal-actions{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #F0F0F0;background:#fafafa}.modal-actions button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:10px;cursor:pointer;font-size:.9375rem;font-weight:600;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1)}.modal-actions .reserve-btn{background-color:var(--provectus-orange);color:var(--white)}.modal-actions .reserve-btn:hover{background-color:#e08600;transform:translateY(-2px);box-shadow:0 6px 20px #f392004d}.modal-actions .cancel-btn{background-color:#f5f5f5;color:var(--anthracite);border:1px solid #E5E5E5}.modal-actions .cancel-btn:hover{background-color:#eee;transform:translateY(-1px)}.cancellation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.cancellation-modal-content{background:var(--white);border-radius:20px;max-width:450px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.cancellation-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #F0F0F0;background:linear-gradient(135deg,#fee2e2,#fecaca)}.cancellation-modal .modal-header h3{margin:0;color:var(--color-danger);font-weight:600;font-size:1.25rem}.cancellation-modal .modal-close-btn{background:#fffc;border:1px solid #fecaca;font-size:1.5rem;color:var(--color-danger);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease}.cancellation-modal .modal-close-btn:hover{background:var(--white);color:var(--color-danger-hover)}.cancellation-modal .modal-body{padding:2rem}.cancellation-meal-info{text-align:center}.cancellation-warning{font-size:1.125rem;font-weight:600;color:var(--anthracite);margin-bottom:1.5rem}.cancellation-details{background:linear-gradient(135deg,#fafafa,#f5f5f5);padding:1.5rem;border-radius:12px;border:1px solid #F0F0F0}.cancellation-details strong{display:block;font-size:1.125rem;color:var(--anthracite);margin-bottom:.5rem}.cancellation-details p{margin:.375rem 0;color:var(--gray);font-size:.9375rem}.cancellation-price{font-weight:700!important;color:var(--provectus-orange)!important;font-size:1rem!important;margin-top:.75rem!important}.cancellation-guests{font-size:.875rem!important;color:var(--gray)!important}.modal-actions .cancel-confirm-btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:10px;cursor:pointer;font-size:.9375rem;font-weight:600;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);background-color:var(--color-danger);color:var(--white)}.modal-actions .cancel-confirm-btn:hover{background-color:var(--color-danger-hover);transform:translateY(-2px);box-shadow:0 6px 20px #e74c3c4d}.settings{max-width:800px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-md)}.settings-loading{text-align:center;padding:var(--spacing-xl);color:var(--gray)}.settings-header{margin-bottom:var(--spacing-xl)}.settings-header h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--anthracite);margin:0}.settings-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-section h2{font-size:var(--font-size-xl);font-weight:600;color:var(--anthracite);margin-bottom:var(--spacing-md)}.settings-card{background:var(--white);border:1px solid var(--light-gray);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-xs)}.settings-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.settings-card-title{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.settings-card-title span{font-weight:500;color:var(--anthracite)}.settings-status{display:flex;align-items:center}.status-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500}.status-badge--enabled{background-color:var(--color-success-bg);color:var(--color-success)}.status-badge--disabled{background-color:var(--color-danger-bg);color:var(--color-danger)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--provectus-turquoise)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.settings-card-info{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-gray)}.settings-card-info p{margin:0;color:var(--gray);font-size:var(--font-size-sm);line-height:1.5}.settings-input{width:100%;max-width:480px;padding:10px 12px;border:1.5px solid var(--light-gray);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color .2s,box-shadow .2s}.settings-input:focus{outline:none;border-color:var(--provectus-turquoise);box-shadow:0 0 0 3px #00b09b26}.settings-message{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.settings-message--error{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(231,76,60,.2)}.settings-message--success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(39,174,96,.2)}@media(max-width:768px){.settings{padding:var(--spacing-md) var(--spacing-sm)}.settings-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.settings-card-title{width:100%;justify-content:space-between}}.payments-page{padding:var(--spacing-xl) var(--spacing-md);max-width:1400px;margin:0 auto}.payments-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-lg);background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.payments-header h1{margin:0;color:var(--anthracite);font-size:var(--font-size-2xl)}.payments-header .subtitle{margin:4px 0 0;color:var(--gray);font-size:var(--font-size-sm)}.payments-filters{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.payments-filters select,.payments-filters input[type=date]{padding:10px 12px;border:1.5px solid var(--light-gray);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--white)}.payments-filters select:focus,.payments-filters input[type=date]:focus{outline:none;border-color:var(--provectus-turquoise)}.refresh-btn{padding:10px 16px;background:var(--provectus-turquoise);color:var(--white);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.refresh-btn:hover{background:var(--provectus-turquoise-hover)}.payments-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-item{background:var(--white);padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.summary-item .label{color:var(--gray);display:block;margin-bottom:4px;font-size:var(--font-size-sm)}.payments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.payment-card{background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.payment-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--light-gray);gap:var(--spacing-sm)}.payment-card-body{padding:var(--spacing-md)}.payment-total{font-weight:800;margin-bottom:var(--spacing-sm);color:var(--provectus-orange);font-size:var(--font-size-xl)}.payment-card table{width:100%;border-collapse:collapse}.payment-card th,.payment-card td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--light-gray)}.payment-card th{background:var(--light-gray);font-weight:600;font-size:var(--font-size-sm);color:var(--gray)}.payment-card tbody tr:last-child td{border-bottom:none}.user-email{margin:0;color:var(--gray);font-size:var(--font-size-sm)}.payment-chip-group{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.chip{padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700}.chip--total{background:var(--light-gray);color:var(--anthracite)}.chip--paid{background:var(--color-success-bg);color:var(--color-success)}.chip--unpaid{background:var(--color-warning-bg);color:var(--color-warning)}.status-pill{padding:4px 8px;border-radius:var(--radius-sm);font-weight:700;font-size:var(--font-size-sm)}.status-pill--paid{background:var(--color-success-bg);color:var(--color-success)}.status-pill--open{background:var(--color-warning-bg);color:var(--color-warning)}.pay-action-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;color:var(--white);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.pay-action-btn--paid{background:var(--provectus-turquoise)}.pay-action-btn--open{background:var(--color-warning)}.pay-action-btn:disabled{opacity:.6;cursor:not-allowed}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}@media(max-width:768px){.payments-page{padding:var(--spacing-md) var(--spacing-sm)}.payments-header{flex-direction:column;align-items:stretch}.payments-filters{width:100%;flex-direction:column}.payments-filters select,.payments-filters input[type=date],.refresh-btn{width:100%}.payment-card-header{flex-direction:column;align-items:flex-start}.payment-card table{font-size:var(--font-size-sm)}.payment-card th,.payment-card td{padding:var(--spacing-xs)}}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--light-gray)}.main-content{flex:1;background-color:var(--light-gray);padding:2rem 1rem;min-height:calc(100vh - 80px)}@media(max-width:768px){.main-content{padding:1rem .5rem}}
