@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);.btn{border-radius:var(--radius-md);gap:var(--space-2);height:var(--btn-height-md);line-height:1;padding:var(--btn-padding-md);transition:var(--transition-colors),box-shadow var(--transition-fast)}.btn:focus{box-shadow:0 0 0 3px var(--primary-light);outline:none}.btn:disabled{pointer-events:none}.btn-primary{border-color:var(--primary)}.btn-primary:hover:not(:disabled){border-color:var(--primary-hover)}.btn-primary:focus{box-shadow:0 0 0 3px var(--primary-light)}.btn-secondary{border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){border-color:var(--gray-400)}.btn-danger{border-color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger-hover)}.btn-danger:focus{box-shadow:0 0 0 3px var(--danger-light)}.btn-success{border-color:var(--success)}.btn-success:hover:not(:disabled){border-color:var(--success-hover)}.btn-success:focus{box-shadow:0 0 0 3px var(--success-light)}.btn-warning{border-color:var(--warning)}.btn-warning:hover:not(:disabled){border-color:var(--warning-hover)}.btn-warning:focus{box-shadow:0 0 0 3px var(--warning-light)}.btn-ghost{border-color:#0000;color:var(--gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--gray-100);color:var(--gray-900)}.btn-link{background-color:initial;border-color:#0000;height:auto}.btn-link:hover:not(:disabled){color:var(--primary-hover);text-decoration:underline}.btn-sm{font-size:.8125rem;height:var(--btn-height-sm);padding:var(--btn-padding-sm)}.btn-lg{height:var(--btn-height-lg);padding:var(--btn-padding-lg)}.btn-icon{border-radius:var(--radius-md);color:var(--gray-500);height:var(--btn-height-md);transition:var(--transition-colors);width:var(--btn-height-md)}.btn-icon:hover:not(:disabled){background-color:var(--gray-100);color:var(--gray-700)}.btn-icon:focus{box-shadow:0 0 0 2px var(--primary-light);outline:none}.btn-icon.btn-icon-primary{color:var(--primary)}.btn-icon.btn-icon-primary:hover:not(:disabled){background-color:var(--primary-light);color:var(--primary-hover)}.btn-icon.btn-icon-danger{color:var(--danger)}.btn-icon.btn-icon-danger:hover:not(:disabled){background-color:var(--danger-light);color:var(--danger-hover)}.btn-icon.btn-icon-success{color:var(--success)}.btn-icon.btn-icon-success:hover:not(:disabled){background-color:var(--success-light);color:var(--success-hover)}.btn-icon.btn-icon-sm{height:var(--btn-height-sm);width:var(--btn-height-sm)}.btn-icon.btn-icon-lg{height:var(--btn-height-lg);width:var(--btn-height-lg)}.form-input,.input,input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{background-color:#fff;border:1px solid var(--input-border-color);border-radius:var(--radius-md);color:var(--gray-900);font-size:.875rem;height:var(--input-height);line-height:1.5;padding:var(--space-2) var(--space-3);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}textarea{height:auto;min-height:100px;resize:vertical}.form-input:focus,.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--input-focus-border-color);box-shadow:var(--input-focus-ring);outline:none}.form-input:disabled,.input:disabled,input:disabled,select:disabled,textarea:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.form-input.error,.input-error,input.error,select.error,textarea.error{border-color:var(--input-error-border-color)}.form-input.error:focus,.input-error:focus,input.error:focus,select.error:focus,textarea.error:focus{border-color:var(--danger);box-shadow:var(--input-error-ring)}.form-input.success,.input-success,input.success,select.success,textarea.success{border-color:var(--success)}.form-input.success:focus,.input-success:focus,input.success:focus,select.success:focus,textarea.success:focus{border-color:var(--success);box-shadow:0 0 0 3px var(--success-light)}.input-sm{font-size:.8125rem;height:var(--input-height-sm);padding:var(--space-1) var(--space-2)}.input-lg{font-size:1rem;height:var(--input-height-lg);padding:var(--space-3) var(--space-4)}.form-label,.label{color:var(--gray-700);display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-1)}.form-label.required:after,.label-required:after,.label.required:after{color:var(--danger);content:" *"}.form-helper,.helper-text{color:var(--gray-500);font-size:.8125rem;margin-top:var(--space-1)}.error-text,.field-error,.form-error{align-items:center;color:var(--danger);display:flex;font-size:.8125rem;gap:var(--space-1);margin-top:var(--space-1)}.form-group{margin-bottom:var(--space-4)}.card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6)}.card-header h2,.card-header h3{margin:0}.card-body{padding:var(--space-6)}.card-footer{background-color:var(--gray-50);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:1px solid var(--gray-200);padding:var(--space-4) var(--space-6)}.badge{border-radius:var(--radius-full);display:inline-flex;gap:var(--space-1);line-height:1;padding:var(--space-1) var(--space-2)}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-secondary{background-color:var(--gray-100);color:var(--gray-700)}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning-hover)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.badge-info{background-color:var(--info-light);color:var(--info)}.data-table,.table{border-collapse:collapse;font-size:.875rem;width:100%}.data-table th,.table th{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);color:var(--gray-600);font-weight:600;padding:var(--space-3) var(--space-4);text-align:left}.data-table td,.table td{border-bottom:1px solid var(--gray-100);color:var(--gray-900);padding:var(--space-3) var(--space-4);vertical-align:middle}.data-table tbody tr:hover,.table tbody tr:hover{background-color:var(--gray-50)}.table-container{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow-x:auto}.status-badge{border-radius:var(--radius-full);padding:var(--space-1) var(--space-3)}.status-active,.status-success{background-color:var(--success-light);color:var(--success)}.status-pending,.status-warning{background-color:var(--warning-light);color:var(--warning-hover)}.status-error,.status-inactive,.status-suspended{background-color:var(--danger-light);color:var(--danger)}.status-archived,.status-cancelled,.status-expired{color:var(--gray-600)}.page-header{gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h1{gap:var(--space-3)}.page-header .subtitle{color:var(--gray-500);font-size:.875rem;margin-top:var(--space-1)}.search-box{border-radius:var(--radius-md);gap:var(--space-2);min-width:280px;padding:0 var(--space-3)}.search-box input{height:var(--input-height)}.search-box input:focus{box-shadow:none}.filter-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);height:var(--input-height);min-width:180px;padding:0 var(--space-3)}.controls,.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.empty-state{padding:var(--space-12) var(--space-6)}.empty-state p,.empty-state svg{margin-bottom:var(--space-4)}.loading{font-size:.875rem;padding:var(--space-12)}.actions,.back-button,.breadcrumb-link{align-items:center;gap:var(--space-2)}.back-button,.breadcrumb-link{background:none;border:none;border-radius:var(--radius-md);color:var(--gray-500);cursor:pointer;display:inline-flex;font-size:.875rem;margin:calc(var(--space-2)*-1);padding:var(--space-2);transition:var(--transition-colors)}.back-button:hover,.breadcrumb-link:hover{background-color:var(--gray-100);color:var(--gray-700)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-muted{color:var(--gray-500)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-danger{background-color:var(--danger)}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column}.page-header h1{font-size:1.5rem}.controls,.filters{flex-direction:column}.search-box{min-width:100%}.filter-select{width:100%}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#06f;--primary-hover:#0052cc;--primary-light:#e6f0ff;--primary-dark:#004299;--secondary:#64748b;--secondary-hover:#475569;--secondary-light:#f1f5f9;--danger:#dc2626;--danger-hover:#b91c1c;--danger-light:#fee2e2;--success:#059669;--success-hover:#047857;--success-light:#d1fae5;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fef3c7;--info:#0891b2;--info-hover:#0e7490;--info-light:#cffafe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-none:0;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-inner:inset 0 2px 4px 0 #0000000d;--transition-fast:150ms ease;--transition-normal:200ms ease;--transition-slow:300ms ease;--transition-colors:color 150ms ease,background-color 150ms ease,border-color 150ms ease;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--sidebar-width:280px;--sidebar-collapsed-width:64px;--header-height:64px;--content-max-width:1280px;--input-height:40px;--input-height-sm:32px;--input-height-lg:48px;--input-border-color:var(--gray-300);--input-focus-border-color:var(--primary);--input-focus-ring:0 0 0 3px var(--primary-light);--input-error-border-color:var(--danger);--input-error-ring:0 0 0 3px var(--danger-light);--btn-height-sm:32px;--btn-height-md:40px;--btn-height-lg:48px;--btn-padding-sm:0.375rem 0.75rem;--btn-padding-md:0.5rem 1rem;--btn-padding-lg:0.75rem 1.5rem;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-xl:32px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--gray-50);color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}.container{margin:0 auto;max-width:1280px;padding:0 1rem}.confirm-modal-backdrop{align-items:center;animation:confirm-backdrop-fade-in .15s ease-out;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;padding:var(--space-md,1rem);position:fixed;z-index:1000}@keyframes confirm-backdrop-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{animation:confirm-modal-slide-in .2s ease-out;background:#fff;border-radius:8px;border-radius:var(--radius-lg,8px);box-shadow:0 10px 25px #00000026;box-shadow:var(--shadow-lg,0 10px 25px #00000026);max-width:420px;overflow:hidden;width:100%}@keyframes confirm-modal-slide-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-header{align-items:flex-start;display:flex;justify-content:space-between;padding:1.5rem;padding:var(--space-lg,1.5rem);padding-bottom:0}.confirm-modal-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.confirm-modal-icon-default{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);color:#4b5563;color:var(--gray-600,#4b5563)}.confirm-modal-icon-danger{background-color:#fee2e2;background-color:var(--danger-light,#fee2e2);color:#dc2626;color:var(--danger,#dc2626)}.confirm-modal-icon-warning{background-color:#fef3c7;background-color:var(--warning-light,#fef3c7);color:#d97706;color:var(--warning,#d97706)}.confirm-modal-icon-info{background-color:#e6f0ff;background-color:var(--primary-light,#e6f0ff);color:#06f;color:var(--primary,#06f)}.confirm-modal-close{align-items:center;background:none;border:none;border-radius:4px;border-radius:var(--radius-sm,4px);color:#9ca3af;color:var(--gray-400,#9ca3af);cursor:pointer;display:flex;justify-content:center;padding:.25rem;padding:var(--space-xs,.25rem);transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.confirm-modal-close:hover{background-color:#f3f4f6;background-color:var(--gray-100,#f3f4f6);color:#4b5563;color:var(--gray-600,#4b5563)}.confirm-modal-close:focus{outline:2px solid #06f;outline:2px solid var(--primary,#06f);outline-offset:2px}.confirm-modal-close:disabled{cursor:not-allowed;opacity:.5}.confirm-modal-content{padding:1.5rem;padding:var(--space-lg,1.5rem)}.confirm-modal-title{color:#111827;color:var(--gray-900,#111827);font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 .5rem;margin:0 0 var(--space-sm,.5rem) 0}.confirm-modal-message{color:#4b5563;color:var(--gray-600,#4b5563);font-size:.9375rem;line-height:1.5;margin:0}.confirm-modal-actions{background-color:#f9fafb;background-color:var(--gray-50,#f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200,#e5e7eb);display:flex;gap:.5rem;gap:var(--space-sm,.5rem);padding:1rem 1.5rem;padding:var(--space-md,1rem) var(--space-lg,1.5rem)}.confirm-modal-btn{align-items:center;border-radius:6px;border-radius:var(--radius-md,6px);cursor:pointer;display:flex;flex:1 1;font-size:.9375rem;font-weight:500;gap:.25rem;gap:var(--space-xs,.25rem);justify-content:center;min-height:40px;padding:.5rem 1rem;padding:var(--space-sm,.5rem) var(--space-md,1rem);transition:all .15s ease;transition:all var(--transition-fast,.15s ease)}.confirm-modal-btn:focus{outline:2px solid #06f;outline:2px solid var(--primary,#06f);outline-offset:2px}.confirm-modal-btn:disabled{cursor:not-allowed;opacity:.6}.confirm-modal-btn-cancel{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300,#d1d5db);color:#374151;color:var(--gray-700,#374151)}.confirm-modal-btn-cancel:hover:not(:disabled){background-color:#f9fafb;background-color:var(--gray-50,#f9fafb);border-color:#9ca3af;border-color:var(--gray-400,#9ca3af)}.confirm-modal-btn-confirm{border:none}.confirm-modal-btn-default{background-color:#06f;background-color:var(--primary,#06f);color:#fff}.confirm-modal-btn-default:hover:not(:disabled){background-color:#0052cc;background-color:var(--primary-hover,#0052cc)}.confirm-modal-btn-danger{background-color:#dc2626;background-color:var(--danger,#dc2626);color:#fff}.confirm-modal-btn-danger:hover:not(:disabled){background-color:#b91c1c;background-color:var(--danger-hover,#b91c1c)}.confirm-modal-btn-warning{background-color:#d97706;background-color:var(--warning,#d97706);color:#fff}.confirm-modal-btn-warning:hover:not(:disabled){background-color:#b45309;background-color:var(--warning-hover,#b45309)}.confirm-modal-btn-info{background-color:#06f;background-color:var(--primary,#06f);color:#fff}.confirm-modal-btn-info:hover:not(:disabled){background-color:#0052cc;background-color:var(--primary-hover,#0052cc)}.confirm-modal-spinner{animation:confirm-spinner-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes confirm-spinner-spin{to{transform:rotate(1turn)}}@media (max-width:480px){.confirm-modal-backdrop{align-items:flex-end;padding:.5rem;padding:var(--space-sm,.5rem)}.confirm-modal{animation:confirm-modal-slide-up .2s ease-out;border-radius:8px 8px 0 0;border-radius:var(--radius-lg,8px) var(--radius-lg,8px) 0 0;max-width:100%}@keyframes confirm-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.confirm-modal-actions{flex-direction:column-reverse}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:420px;pointer-events:none;position:fixed;right:20px;top:20px;width:100%;z-index:10000}.toast{align-items:flex-start;animation:toast-slide-in .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;display:flex;gap:12px;padding:14px 16px;pointer-events:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;width:24px}.toast-content{flex:1 1;min-width:0}.toast-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.toast-title{color:#1a1a2e;font-size:14px;font-weight:600;line-height:1.4}.toast-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin:-4px -4px 0 0;padding:0;transition:all .15s ease;width:24px}.toast-close:hover{background:#0000000d;color:#1f2937}.toast-message{color:#4b5563;font-size:13px;line-height:1.5;margin:4px 0 0}.toast-details-toggle{align-items:center;background:#0000;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:12px;gap:4px;margin-top:8px;padding:0;transition:color .15s ease}.toast-details-toggle:hover{color:#374151}.toast-details{background:#f9fafb;border-radius:6px;color:#4b5563;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.5;margin-top:8px;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}@media (max-width:480px){.toast-container{bottom:20px;left:10px;max-width:none;right:10px;top:auto}.toast{padding:12px 14px}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.sidebar{background-color:#fff;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;height:100vh;transition:transform .3s ease-in-out;width:var(--sidebar-width);z-index:1000}.sidebar,.sidebar-backdrop{left:0;position:fixed;top:0}.sidebar-backdrop{background-color:#00000080;bottom:0;cursor:pointer;display:none;right:0;z-index:999}.sidebar-close{background:none;border:none;color:var(--gray-600);cursor:pointer;display:none;font-size:2rem;height:40px;line-height:1;padding:0;width:40px}.sidebar-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:1.5rem}.sidebar-header h2{color:var(--primary);font-size:1.5rem}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-item-wrapper{margin-bottom:.25rem}.nav-item{align-items:center;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .2s}.nav-item.level-1{font-weight:400;padding-left:3rem}.nav-item-parent{-webkit-user-select:none;user-select:none}.nav-item:hover{background-color:var(--gray-50);color:var(--gray-900)}.nav-item.active{background-color:var(--primary-light);color:var(--primary)}.nav-item.active:before{background-color:var(--primary);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.nav-item svg{flex-shrink:0}.chevron{font-size:1.2rem;margin-left:auto;transform:rotate(-90deg);transition:transform .2s}.chevron.expanded{transform:rotate(-270deg)}.nav-children{overflow:hidden}.sidebar-footer{border-top:1px solid var(--gray-200);padding:1rem}.user-info{align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem}.user-details{flex:1 1}.user-email{color:var(--gray-900);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--gray-600);font-size:.75rem}.logout-button{align-items:center;background:none;border:none;border-radius:8px;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem;transition:all .2s;width:100%}.logout-button:hover{background-color:var(--gray-100);color:var(--danger)}.logout-button svg{flex-shrink:0}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-backdrop{display:block!important}.sidebar-close{align-items:center;display:flex;justify-content:center}}.layout{display:flex;min-height:100vh}.main-content{background-color:var(--gray-50);flex:1 1;margin-left:var(--sidebar-width);min-height:100vh}.content-wrapper{margin:0 auto;max-width:1200px;padding:2rem}.mobile-header{align-items:center;background-color:#fff;border-bottom:1px solid var(--gray-200);display:none;gap:1rem;padding:1rem}.mobile-header h1{color:var(--primary);font-size:1.5rem;margin:0}.menu-button{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-700);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px;z-index:10}.menu-button:hover{background-color:var(--gray-50);border-color:var(--gray-400)}@media (max-width:768px){.main-content{margin-left:0}.mobile-header{display:flex}.content-wrapper{padding:1rem}}.login-container{align-items:center;background:linear-gradient(135deg,var(--gray-50) 0,var(--gray-100) 100%);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:400px;padding:3rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:var(--gray-900);margin-bottom:.5rem}.login-header p{color:var(--gray-600);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{background-color:#fff}.login-button{align-items:center;background-color:var(--primary);border:none;border-radius:8px;color:#fff;display:flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .2s}.login-button:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.7}.dashboard{display:flex;flex-direction:column;gap:2rem}.dashboard-header{margin-bottom:1rem}.dashboard-header h1{margin-bottom:.5rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{box-shadow:0 1px 3px 0 #0000001a;transition:all .2s}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a}.stat-header{gap:1rem;margin-bottom:1rem}.stat-header,.stat-icon{align-items:center;display:flex}.stat-icon{background-color:var(--primary-light);border-radius:10px;color:var(--primary);height:48px;justify-content:center;width:48px}.stat-header h3{color:var(--gray-600);font-size:.875rem;font-weight:500}.stat-trend{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.stat-trend.positive{color:var(--success)}.stat-trend.negative{color:var(--danger)}.trend-label{color:var(--gray-500)}.dashboard-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.dashboard-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.dashboard-section h2{font-size:1.125rem;margin-bottom:1.5rem}.activity-list{display:flex;flex-direction:column;gap:1.5rem}.activity-item{align-items:flex-start;display:flex;gap:1rem}.activity-dot{background-color:var(--primary);border-radius:50%;flex-shrink:0;height:8px;margin-top:.5rem;width:8px}.activity-content p{color:var(--gray-900);font-size:.875rem;margin-bottom:.25rem}.activity-time{color:var(--gray-500);font-size:.75rem}.quick-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.quick-action-btn{align-items:center;background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:1rem;transition:all .2s}.quick-action-btn:hover{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}@media (max-width:768px){.dashboard-sections,.quick-actions,.stats-grid{grid-template-columns:1fr}}.administrators-list{display:flex;flex-direction:column;gap:2rem}.role-badge{align-items:center;background-color:var(--primary-light);border-radius:999px;color:var(--primary);display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.25rem .75rem}.btn-icon.btn-warning{background-color:var(--warning-light);color:var(--warning)}.btn-icon.btn-warning:hover{background-color:var(--warning);color:#fff}.btn-icon.btn-success{background-color:var(--success-light);color:var(--success)}.btn-icon.btn-success:hover{background-color:var(--success);color:#fff}.create-administrator{margin:0 auto;max-width:600px}.btn-back{font-weight:500;margin-bottom:2rem}.admin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{background-color:#fff;font-size:1rem}.form-group input::placeholder{color:var(--gray-400)}.field-help{margin-top:-.25rem}.error-message{background-color:#fef2f2;padding:.75rem 1rem}.btn-secondary:hover{border-color:var(--gray-400)}.btn[disabled]{cursor:not-allowed;opacity:.7}.btn[disabled]:hover{box-shadow:none;transform:none}.clients-list{display:flex;flex-direction:column;gap:2rem}.controls{align-items:center;display:flex;gap:1rem}.search-box input{border:1px solid var(--gray-300)}.search-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.filter-box{align-items:center;display:flex;gap:.5rem}.filter-box label{color:var(--gray-700);font-size:.875rem;font-weight:500}.filter-box select{background-color:#fff;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.filter-box select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.data-table th{background-color:var(--gray-50);color:var(--gray-700);font-size:.875rem}.data-table td{border-bottom:1px solid var(--gray-100)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background-color:var(--gray-50)}.client-info{align-items:center;gap:.75rem}.client-name{font-size:.75rem}.plan-info{align-items:flex-start;gap:.75rem}.plan-info svg{color:var(--primary);margin-top:.125rem}.plan-code{font-size:.75rem}.guarantee-badge{font-size:.625rem;gap:.25rem;margin-top:.25rem;padding:.125rem .5rem}.no-subscription{font-size:.875rem;font-style:italic}.status-archived{background-color:#f3f4f6;color:#6b7280}.date-info,.expires-info{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.date-info svg,.expires-info svg{color:var(--gray-400)}.days-remaining{color:var(--gray-500)}.days-remaining.warning{color:var(--warning);font-weight:600}.last-connection{color:var(--gray-600);font-size:.875rem}.actions{gap:.5rem}.btn-icon{background-color:var(--gray-100);border-radius:8px;color:var(--gray-700)}.btn-icon:hover{background-color:var(--gray-200);transform:translateY(-1px)}.btn-icon.btn-danger{background-color:var(--danger-light);color:var(--danger)}.btn-icon.btn-danger:hover{background-color:var(--danger)}.empty-state{color:var(--gray-500);gap:1rem}.list-footer{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;justify-content:space-between;padding:1rem}.stats{color:var(--gray-600);font-size:.875rem}.create-client{display:flex;flex-direction:column;gap:2rem}.form-container{border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;margin:0 auto;max-width:800px;padding:2rem}.form-header{border-bottom:1px solid var(--gray-200);padding-bottom:1.5rem}.form-header h1{margin-bottom:.5rem}.subtitle{color:var(--gray-600)}.client-form{display:flex;flex-direction:column;gap:2rem}.error-message{background-color:var(--danger-light);border:1px solid var(--danger);color:var(--danger);font-size:.875rem}.form-section{gap:1.5rem}.form-section h2{align-items:center;border-bottom:1px solid var(--gray-200);color:var(--gray-900);display:flex;font-size:1.125rem;gap:.5rem}.form-section h2 svg{color:var(--primary)}.form-group input,.form-group select{border:1px solid var(--gray-300);border-radius:8px;padding:.75rem 1rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.field-help{color:var(--gray-500);margin:0}.plan-details{background-color:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;gap:.75rem;padding:1rem}.plan-detail-item{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.plan-detail-item .label{color:var(--gray-600)}.plan-detail-item .value{color:var(--gray-900);font-weight:600}.plan-detail-item .value.highlight{color:var(--primary);font-size:1.125rem}.plan-detail-item.guarantee{background-color:var(--success-light);border-radius:6px;color:var(--success);font-weight:600;justify-content:center;padding:.5rem .75rem}.plan-description{color:var(--gray-600);font-size:.875rem;line-height:1.5;padding-top:.5rem}.form-actions,.plan-description{border-top:1px solid var(--gray-200)}.btn-secondary:hover{background-color:var(--gray-50)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.btn:disabled:hover{transform:none}.info-box{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:.875rem;padding:1rem}.info-box strong{font-weight:600}.view-client{display:flex;flex-direction:column;gap:2rem}.page-header .header-left{align-items:center;display:flex;gap:1rem}.btn-back{background:#fff;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-700)}.btn-back:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.page-header h1{font-size:1.5rem}.client-details-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden}.card-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:1.5rem}.card-header svg{color:var(--primary)}.card-header h2{color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0}.card-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.info-row{align-items:flex-start;display:flex;gap:1rem}.info-row svg{color:var(--gray-400);flex-shrink:0;margin-top:.125rem}.info-row>div{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.info-row .label{color:var(--gray-500);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.info-row .value{color:var(--gray-900);font-size:.9375rem;font-weight:500}.subscription-status{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.8125rem;font-weight:600;padding:.375rem .875rem}.status-pending{background-color:#fef3c7;color:#92400e}.status-active{background-color:#d1fae5;color:#065f46}.status-suspended{background-color:#fed7aa;color:#9a3412}.status-cancelled{background-color:#fee2e2;color:#991b1b}.status-expired{background-color:#e5e7eb;color:#374151}.guarantee-badge{align-items:center;background-color:var(--success-light);border-radius:999px;color:var(--success);display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .75rem}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.info-item{flex-direction:column;gap:.375rem}.info-item .label{color:var(--gray-500);font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.info-item .value{color:var(--gray-900);font-size:1rem}.info-item .value.highlight{color:var(--primary);font-size:1.25rem}.info-item .value.success{color:var(--success)}.info-item .value.danger{color:var(--danger)}.info-item .subvalue{color:var(--gray-500);font-size:.75rem}.info-item .subvalue.warning{color:var(--warning);font-weight:600}.device-id{color:var(--primary);font-family:monospace;font-size:.875rem}.info-divider{background-color:var(--gray-200);height:1px;margin:.5rem 0}.guarantee-info{background-color:var(--success-light);border:1px solid var(--success);border-radius:8px;padding:1rem}.guarantee-info h3{color:var(--success);font-size:.875rem;font-weight:600;margin-bottom:1rem}.subscription-actions{gap:.75rem;padding-top:1rem}.btn-success{background-color:var(--success)}.btn-success:hover:not(:disabled){background-color:var(--success-hover)}.btn-warning{background-color:var(--warning)}.btn-warning:hover:not(:disabled){background-color:var(--warning-hover)}.btn-danger{background-color:var(--danger)}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.no-subscription{align-items:center;color:var(--gray-400);display:flex;flex-direction:column;gap:1rem;padding:3rem;text-align:center}.no-subscription svg{color:var(--gray-300)}.error-state{gap:1.5rem;padding:3rem}.loading{color:var(--gray-600)}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--gray-400);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.modal-close:hover{background-color:var(--gray-100);color:var(--gray-600)}.form-group select{font-size:.875rem}.radio-group{display:flex;gap:1.5rem}.radio-group label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.radio-group input[type=radio]{cursor:pointer;height:18px;width:18px}.help-text{background-color:var(--gray-50);border-radius:6px;color:var(--gray-500);font-size:.8125rem;line-height:1.5;margin-top:1rem;padding:.75rem}.tabs{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:0 1.5rem}.tab,.tabs{display:flex;gap:.5rem}.tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--gray-600);cursor:pointer;font-size:.875rem;font-weight:500;padding:1rem 1.5rem;position:relative;top:1px;transition:all .2s}.tab:hover{background-color:var(--gray-100);border-radius:8px 8px 0 0;color:var(--gray-900)}.tab.active{background-color:#fff;border-bottom-color:var(--primary);color:var(--primary)}.tab-badge{align-items:center;border-radius:10px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.tab-badge,.tab.active .tab-badge{background-color:var(--primary)}.tab-content{background-color:#fff;padding:1.5rem}.active-subscription-tab,.history-tab{display:flex;flex-direction:column;gap:1rem}.subscription-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:all .2s}.subscription-card.active-subscription{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.subscription-card:not(.active-subscription):hover{box-shadow:0 4px 6px #0000000d}.subscription-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.subscription-title{align-items:center;display:flex;flex:1 1;gap:.75rem}.subscription-title svg{color:var(--primary)}.subscription-title h3{color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0}.subscription-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.subscription-info-grid .info-item{display:flex;flex-direction:column;gap:.25rem}.subscription-info-grid .label{color:var(--gray-500);font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.subscription-info-grid .value{color:var(--gray-900);font-size:1rem;font-weight:600}.subscription-info-grid .value.highlight{color:var(--primary);font-size:1.25rem}.subscription-dates{background-color:var(--gray-50);border-radius:8px;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.date-item{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.date-item svg{color:var(--gray-400);flex-shrink:0}.date-item .label{color:var(--gray-600);font-weight:500}.date-item .value{color:var(--gray-900)}.date-item .device-id{background-color:var(--gray-100);border-radius:4px;font-family:Courier New,monospace;font-size:.8125rem;padding:.25rem .5rem}.days-badge{background-color:var(--success-light);border-radius:12px;color:var(--success-dark);font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.25rem .5rem}.days-badge.warning{color:var(--warning-dark)}.days-badge.warning,.reason-box{background-color:var(--warning-light)}.reason-box{border-left:3px solid var(--warning);border-radius:4px;color:var(--gray-700);font-size:.875rem;padding:.75rem}.reason-box strong{color:var(--gray-900)}.guarantee-info-box{background-color:var(--primary-light);border:1px solid var(--primary);border-radius:8px;padding:1rem}.guarantee-info-box h4{align-items:center;color:var(--primary-dark);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0 0 .75rem}.guarantee-details{display:flex;gap:1.5rem}.guarantee-item{display:flex;flex-direction:column;gap:.25rem}.guarantee-item .label{color:var(--primary-dark);font-size:.75rem;font-weight:500;opacity:.8}.guarantee-item .value{color:var(--primary-dark);font-size:1rem;font-weight:600}.guarantee-item .value.success{color:var(--success)}.guarantee-item .value.danger{color:var(--danger)}.subscription-actions{border-top:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem}.subscriptions-timeline{display:flex;flex-direction:column;gap:1rem}.no-history,.no-subscription{align-items:center;color:var(--gray-500);display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.no-history svg,.no-subscription svg{color:var(--gray-300);margin-bottom:1rem}.no-history p,.no-subscription p{font-size:1rem;margin:0 0 1.5rem}.card-header{align-items:center;display:flex;gap:.75rem}.card-header h2{flex:1 1}.card-header .btn-sm{font-size:.875rem;padding:.5rem 1rem}.plan-preview{background-color:var(--gray-50);border-radius:8px;margin-top:1rem;padding:1rem}.plan-preview h4{color:var(--gray-900);font-size:.875rem;font-weight:600;margin:0 0 .75rem}.plan-details{display:flex;flex-direction:column;gap:.5rem}.plan-details p{color:var(--gray-700);font-size:.875rem;margin:0}.plan-details .guarantee-text{color:var(--success);font-weight:500}.info-box{background-color:var(--info-light);border-left:3px solid var(--info);border-radius:4px;color:var(--gray-700);font-size:.8125rem;line-height:1.5;margin-top:1rem;padding:.75rem 1rem}.form-group input{border:1px solid var(--gray-300);transition:all .2s}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.nutritionist-row{border-top:1px solid var(--gray-200);margin-top:.5rem;padding-top:.5rem}.nutritionist-selector{margin-top:.25rem}.nutritionist-select{background-color:#fff;border:1px solid var(--gray-300);border-radius:6px;color:var(--gray-900);cursor:pointer;font-size:.875rem;min-width:200px;padding:.5rem .75rem;transition:all .2s}.nutritionist-select:hover{border-color:var(--gray-400)}.nutritionist-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);outline:none}.nutritionist-select:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.client-menus{display:flex;flex-direction:column;gap:1.5rem}.page-header{flex-wrap:wrap}.header-left{align-items:flex-start}.header-info{display:flex;flex-direction:column;gap:.5rem}.header-info h1{align-items:center;color:var(--gray-900);display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin:0}.header-info h1 svg{color:var(--primary)}.nutritionist-badge{align-items:center;background-color:var(--primary-light);border-radius:20px;color:var(--primary-dark);display:inline-flex;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.back-button{background:#fff;border:1px solid var(--gray-300);color:var(--gray-700);font-size:.875rem}.back-button:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.btn{padding:.625rem 1.25rem}.btn-primary{background-color:var(--primary)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{border:1px solid var(--gray-300);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-50)}.spinning{animation:spin 1s linear infinite}.calendar-container{border-radius:12px;box-shadow:0 1px 3px #0000001a}.calendar-nav{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200)}.nav-btn{border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-600)}.nav-btn:hover{background-color:var(--gray-50)}.current-month span,.nav-btn:hover{color:var(--gray-900)}.today-btn{border:1px solid var(--primary);border-radius:6px;color:var(--primary);font-size:.8125rem;font-weight:500;padding:.375rem .75rem}.today-btn:hover{background-color:var(--primary);color:#fff}.calendar-grid{grid-gap:1px;background-color:var(--gray-200);gap:1px}.calendar-header-cell{background-color:var(--gray-50);color:var(--gray-600);font-size:.8125rem;padding:.75rem;text-transform:uppercase}.calendar-cell{background-color:#fff;display:flex;flex-direction:column;min-height:100px;padding:.5rem;transition:all .2s}.calendar-cell.empty,.calendar-cell.past,.calendar-cell:hover:not(.empty){background-color:var(--gray-50)}.calendar-cell.today{background-color:var(--primary-light)}.calendar-cell.has-menu{background-color:var(--success-light)}.calendar-cell.today.has-menu{background:linear-gradient(135deg,var(--primary-light) 0,var(--success-light) 100%)}.day-number{color:var(--gray-900);font-size:.9375rem;margin-bottom:.25rem}.calendar-cell.past .day-number{color:var(--gray-500)}.calendar-cell.today .day-number{color:var(--primary)}.day-menu{flex:1 1}.menu-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--success-dark);display:-webkit-box;line-height:1.3}.menu-meals{color:var(--gray-500);font-size:.6875rem}.day-empty{flex:1 1}.day-empty span{color:var(--gray-400);font-size:.75rem;opacity:0;transition:opacity .2s}.calendar-cell:hover .day-empty span{opacity:1}.modal{box-shadow:0 20px 25px -5px #0000001a;overflow:auto}.modal-header{border-bottom:1px solid var(--gray-200);padding:1.25rem 1.5rem}.modal-header h2{color:var(--gray-900);font-size:1.125rem;font-weight:600;text-transform:capitalize}.close-btn{border-radius:8px;color:var(--gray-400)}.close-btn:hover{background-color:var(--gray-100);color:var(--gray-600)}.modal-footer{background-color:var(--gray-50);border-top:1px solid var(--gray-200);gap:.75rem;padding:1rem 1.5rem}.form-group label{color:var(--gray-700)}.form-group select{background-color:#fff;border:1px solid var(--gray-300);border-radius:8px;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s}.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.subscriptions-list{display:flex;flex-direction:column;gap:2rem}.filters-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.search-box{background:#fff;border:1px solid var(--gray-300);gap:.75rem;padding:.75rem 1rem;transition:all .2s}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-box svg{color:var(--gray-400);flex-shrink:0}.filters-grid{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{align-items:center;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.filter-group label svg{color:var(--gray-400)}.filter-group select{background-color:#fff;border:1px solid var(--gray-300);border-radius:8px;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:all .2s}.filter-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.btn-reset{white-space:nowrap}.stats-summary{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:1.5rem;padding:1rem 1.5rem}.stat-item{gap:.25rem}.stat-label{color:var(--gray-500);font-size:.75rem;font-weight:500;letter-spacing:.025em}.stat-value{color:var(--gray-900);font-size:1.5rem}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden}.data-table thead{background-color:var(--gray-50)}.data-table th{color:var(--gray-600);font-weight:600;padding:1rem}.data-table tbody tr,.data-table th{border-bottom:1px solid var(--gray-200)}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background-color:var(--gray-50)}.data-table td{color:var(--gray-700);font-size:.875rem;padding:1rem;vertical-align:top}.subscription-id{color:var(--gray-900);font-family:Courier New,monospace;font-weight:600}.client-info{align-items:flex-start;display:flex;gap:.5rem}.client-info svg{color:var(--gray-400);flex-shrink:0;margin-top:.125rem}.client-email{color:var(--gray-900);font-weight:500}.client-name{color:var(--gray-500);font-size:.8125rem}.plan-info{display:flex;flex-direction:column;gap:.25rem}.plan-name{color:var(--gray-900);font-weight:500}.plan-code{color:var(--gray-500);font-size:.8125rem}.guarantee-badge-small{align-items:center;color:var(--success);display:inline-flex;font-size:.75rem;gap:.25rem;margin-top:.25rem}.guarantee-badge-small svg{fill:currentColor}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.status-pending{background-color:var(--warning-light);color:var(--warning-dark)}.status-active{background-color:var(--success-light);color:var(--success-dark)}.status-suspended{background-color:var(--info-light);color:var(--info-dark)}.status-archived,.status-cancelled,.status-expired{background-color:var(--gray-100);color:var(--gray-700)}.date-cell{align-items:flex-start;display:flex;gap:.5rem}.date-cell svg{color:var(--gray-400);flex-shrink:0;margin-top:.125rem}.days-remaining{color:var(--success);font-size:.75rem;margin-top:.125rem}.days-remaining.warning{color:var(--warning-dark);font-weight:500}.price-cell{display:flex;flex-direction:column;gap:.25rem}.price-amount{color:var(--gray-900);font-weight:600}.price-detail{color:var(--gray-500);font-size:.75rem}.connection-cell{color:var(--gray-700);font-size:.875rem}.no-connection{color:var(--gray-400);font-size:.875rem;font-style:italic}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:500;padding:0;text-decoration:underline;transition:color .2s}.btn-link:hover{color:var(--primary-dark)}.empty-state svg{color:var(--gray-300)}.empty-state p{color:var(--gray-500);font-size:1rem;margin:0 0 1.5rem}.pagination{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;padding:1.5rem}.pagination-btn{align-items:center;background:#fff;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.pagination-btn:not(:disabled):hover{background-color:var(--gray-50);border-color:var(--gray-400)}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--gray-700);font-size:.875rem;font-weight:500}.subscriptions-stats{display:flex;flex-direction:column;gap:2rem}.page-header{gap:1rem}.page-header h1{color:var(--gray-900);font-size:1.75rem}.subtitle{color:var(--gray-500);font-size:.875rem;margin:.25rem 0 0}.kpis-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.kpi-card{background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:1.5rem;padding:1.5rem;transition:transform .2s}.kpi-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.kpi-card.primary{border-left-color:var(--primary)}.kpi-card.success{border-left-color:var(--success)}.kpi-card.warning{border-left-color:var(--warning)}.kpi-card.info{border-left-color:var(--info)}.kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.kpi-card.primary .kpi-icon{background-color:var(--primary-light);color:var(--primary)}.kpi-card.success .kpi-icon{background-color:var(--success-light);color:var(--success)}.kpi-card.warning .kpi-icon{background-color:var(--warning-light);color:var(--warning)}.kpi-card.info .kpi-icon{background-color:var(--info-light);color:var(--info)}.kpi-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.kpi-label{color:var(--gray-600);font-size:.875rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase}.kpi-value{color:var(--gray-900);font-size:2rem;font-weight:700;line-height:1}.kpi-detail{color:var(--gray-500);font-size:.8125rem}.stats-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:2rem}.stats-section h2{color:var(--gray-900);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.status-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.status-card{display:flex;flex-direction:column;gap:.75rem}.status-header{justify-content:space-between}.status-header,.status-label{align-items:center;display:flex}.status-label{color:var(--gray-700);font-size:.875rem;font-weight:500;gap:.5rem}.status-dot{border-radius:50%;height:12px;width:12px}.status-dot.active{background-color:var(--success)}.status-dot.pending{background-color:var(--warning)}.status-dot.suspended{background-color:var(--info)}.status-dot.cancelled,.status-dot.expired{background-color:var(--gray-400)}.status-count{color:var(--gray-900);font-size:1.25rem;font-weight:700}.status-bar{background-color:var(--gray-100);border-radius:4px;height:8px;overflow:hidden}.status-fill{border-radius:4px;height:100%;transition:width .3s ease}.status-fill.active{background-color:var(--success)}.status-fill.pending{background-color:var(--warning)}.status-fill.suspended{background-color:var(--info)}.status-fill.cancelled,.status-fill.expired{background-color:var(--gray-400)}.status-percentage{color:var(--gray-600);font-size:.8125rem;font-weight:500;text-align:right}.insights-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.insight-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.insight-card h3{align-items:center;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0}.insight-card h3 svg,.insight-value{color:var(--primary)}.insight-value{font-size:2.5rem;font-weight:700;line-height:1}.insight-description{color:var(--gray-500);font-size:.8125rem;line-height:1.5;margin:0}.actions-required{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:2rem}.actions-required h2{color:var(--gray-900);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.action-items{display:flex;flex-direction:column;gap:1rem}.action-item{align-items:flex-start;border-left:4px solid;border-radius:8px;display:flex;gap:1rem;padding:1rem}.action-item.warning{background-color:var(--warning-light);border-left-color:var(--warning)}.action-item.info{background-color:var(--info-light);border-left-color:var(--info)}.action-item svg{flex-shrink:0;margin-top:.125rem}.action-item.warning svg{color:var(--warning-dark)}.action-item.info svg{color:var(--info-dark)}.action-item div{color:var(--gray-700);flex:1 1;font-size:.875rem;line-height:1.5}.action-item strong{color:var(--gray-900);font-weight:600}.loading{color:var(--gray-500);font-size:1rem;padding:4rem}.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.error-state svg{color:var(--danger);margin-bottom:1rem}.error-state p{color:var(--gray-500);font-size:1rem;margin:0 0 1.5rem}.file-preview-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.file-preview-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;height:90%;max-height:800px;max-width:1200px;width:90%}.preview-header{align-items:center;background:#fafbfc;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:16px 24px}.preview-header h2{color:#24292f;font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-header-actions{display:flex;gap:8px}.preview-content{background:#f6f8fa;overflow:auto}.preview-loading{color:#8b949e;font-size:16px}.preview-error{align-items:center;color:#8b949e;display:flex;flex-direction:column;gap:16px;text-align:center}.preview-error svg{color:#d1242f}.preview-error button{background:#0969da;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px;transition:background .2s}.preview-error button:hover{background:#0860ca}.preview-image{align-items:center;display:flex;height:100%;justify-content:center;padding:20px;width:100%}.preview-image img{border-radius:4px;box-shadow:0 4px 16px #0000001a;max-height:100%;max-width:100%;object-fit:contain}.preview-video{align-items:center;display:flex;height:100%;justify-content:center;padding:20px}.preview-video video{border-radius:4px;box-shadow:0 4px 16px #0000001a;max-height:100%;max-width:100%}.preview-audio{align-items:center;display:flex;flex-direction:column;gap:24px;padding:40px}.preview-audio audio{max-width:500px;width:100%}.audio-info{text-align:center}.audio-info h3{color:#24292f;font-size:20px;font-weight:600;margin:0 0 8px}.audio-info p{color:#8b949e;font-size:16px;margin:0}.preview-pdf{height:100%;padding:20px;width:100%}.preview-pdf iframe{border:none;border-radius:4px;box-shadow:0 4px 16px #0000001a;height:100%;width:100%}.preview-default{align-items:center;display:flex;flex-direction:column;gap:16px;padding:40px;text-align:center}.file-icon-large{color:#8b949e}.preview-default h3{color:#24292f;font-size:20px;font-weight:600;margin:0;word-break:break-word}.file-size,.file-type{color:#8b949e;font-size:14px;margin:0}.preview-actions{display:flex;gap:12px;margin-top:24px}.btn-icon{color:#24292f}.btn-primary,.btn-secondary{border-radius:4px;display:flex;font-size:14px;gap:8px;padding:8px 16px;text-decoration:none}.btn-secondary:hover{background:#f3f4f6;border-color:#8b949e}@media (max-width:768px){.file-preview-modal{border-radius:0;height:100%;max-height:none;max-width:none;width:100%}.preview-header{border-radius:0}.preview-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{justify-content:center;width:100%}}.file-manager{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.drag-overlay,.file-manager.dragging{border:2px dashed #0969da}.drag-overlay{align-items:center;background:#0969da1a;border-radius:8px;bottom:0;color:#0969da;display:flex;flex-direction:column;font-size:18px;font-weight:500;gap:16px;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:100}.drag-overlay svg{animation:bounce 1s ease infinite;color:#0969da}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.file-manager-header{background:#fafbfc;border-bottom:1px solid #e1e4e8;border-radius:8px 8px 0 0;justify-content:space-between;padding:16px}.file-manager-header,.header-left,.header-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.bucket-selector{align-items:center;display:flex;gap:8px}.bucket-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;min-width:200px;padding:8px 12px;transition:all .2s}.bucket-select:hover{border-color:#9ca3af}.bucket-select:focus{border-color:#0969da;box-shadow:0 0 0 3px #0969da1a;outline:none}.breadcrumb{font-size:14px;gap:4px}.breadcrumb-item{align-items:center;border-radius:6px;display:flex;gap:6px;padding:6px 10px}.breadcrumb-separator{color:#8b949e;flex-shrink:0}.search-box svg{color:#8b949e;left:10px}.search-box input{border:1px solid #d1d5db;padding:8px 12px 8px 38px;transition:all .2s;width:220px}.search-box input:hover{border-color:#9ca3af}.search-box input:focus{border-color:#0969da;box-shadow:0 0 0 3px #0969da1a;width:280px}.view-mode-toggle{background:#f3f4f6;border-radius:6px;display:flex;padding:2px}.btn-icon{background:#0000;color:#4b5563}.btn-icon:hover{background:#0000000d;color:#1f2937}.btn-icon.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#0969da}.btn-icon.danger:hover{background:#ef44441a;color:#dc2626}.btn-icon.spinning svg{animation:spin 1s linear infinite}.btn-primary{border-radius:6px;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.btn-primary:hover{background:#0860ca}.btn-primary.disabled,.btn-primary:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.upload-panel{background:#f8fafc;border-bottom:1px solid #e1e4e8;padding:12px 16px}.upload-panel-header{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:10px}.upload-panel-header svg{color:#0969da}.upload-tasks{display:flex;flex-direction:column;gap:8px}.upload-task{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:12px;padding:10px 12px}.upload-task.error{background:#fef2f2;border-color:#fecaca}.upload-task.success{background:#f0fdf4;border-color:#bbf7d0}.task-info{flex:1 1;min-width:0}.task-name{color:#1f2937;display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-size{color:#6b7280;font-size:12px}.task-progress{align-items:center;display:flex;flex:1 1;gap:10px;max-width:300px}.task-progress .progress-bar{background:#e5e7eb;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.task-progress .progress-fill{background:#0969da;height:100%;transition:width .2s ease}.task-progress .progress-text{color:#374151;font-size:12px;font-weight:500;min-width:40px;text-align:right}.btn-cancel,.btn-dismiss{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .15s;width:24px}.btn-cancel:hover{background:#ef44441a;color:#dc2626}.btn-dismiss:hover{background:#0000000d;color:#374151}.task-status.success{color:#059669;font-size:12px;font-weight:500}.task-error{align-items:center;color:#dc2626;display:flex;font-size:12px;gap:6px}.task-error svg{flex-shrink:0}.stats-bar{background:#f8fafc;border-bottom:1px solid #e1e4e8;color:#6b7280;font-size:13px;gap:20px;padding:10px 16px}.stats-bar,.stats-bar span{align-items:center;display:flex}.stats-bar span{gap:6px}.stats-bar svg{color:#9ca3af}.file-list{flex:1 1;overflow:auto;padding:16px}.file-list.grid{grid-gap:12px;align-content:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.file-list.list{display:flex;flex-direction:column;gap:4px}.file-item{background:#fff;border:1px solid #e5e7eb;position:relative}.file-list.list .file-item{border-radius:6px;flex-direction:row;padding:10px 16px}.file-item:hover{background:#f8fafc;border-color:#0969da}.file-item.selected{background:#0969da0d}.file-icon{align-items:center;color:#9ca3af;display:flex;height:80px;justify-content:center;width:80px}.file-list.list .file-icon{height:40px;margin-bottom:0;margin-right:12px;width:40px}.file-list.list .file-icon svg{height:24px;width:24px}.folder-icon{color:#f59e0b}.file-thumbnail{align-items:center;background:#f3f4f6;border-radius:4px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.file-thumbnail img{height:100%;object-fit:cover;width:100%}.file-thumbnail.loading{color:#9ca3af}.file-list.list .file-thumbnail{height:40px;width:40px}.file-info{flex:1 1;min-width:0;text-align:center}.file-list.list .file-info{text-align:left}.file-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1f2937;display:-webkit-box;line-height:1.4;max-width:100%;word-break:break-word}.file-list.list .file-name{-webkit-line-clamp:1;font-weight:500}.file-meta{color:#6b7280;display:flex;font-size:12px;gap:12px;margin-top:2px}.file-type{background:#f3f4f6;border-radius:3px;font-size:11px;padding:2px 6px;text-transform:uppercase}.file-actions{background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:none;gap:4px;padding:2px;position:absolute;right:6px;top:6px}.file-list.list .file-actions{background:#0000;box-shadow:none;margin-left:auto;padding:0;position:static}.file-item:hover .file-actions{display:flex}.file-actions .btn-icon{height:28px;width:28px}.empty-state{gap:12px;height:100%;min-height:300px;padding:40px}.empty-state .hint{color:#9ca3af;font-size:14px}.loading-spinner{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;min-height:200px}.error-message{background:#fef2f2;gap:8px;margin:0 16px 16px}.error-message svg{flex-shrink:0}.modal-overlay{animation:fadeIn .2s ease;bottom:0;left:0;right:0;top:0}.modal{animation:slideUp .2s ease;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:400px;padding:24px;width:90%}.modal h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 16px}.modal input{border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-bottom:8px;padding:10px 12px;transition:all .2s;width:100%}.modal input:focus{border-color:#0969da;box-shadow:0 0 0 3px #0969da1a;outline:none}.modal-hint{color:#6b7280;font-size:12px;margin:0 0 16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.modal-actions button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.modal-actions button:hover{background:#f3f4f6}.modal-actions .btn-primary{background:#0969da;border:none;color:#fff}.modal-actions .btn-primary:hover{background:#0860ca}@media (max-width:768px){.file-manager-header{align-items:stretch;flex-direction:column}.header-left,.header-right{justify-content:space-between;width:100%}.bucket-select{flex:1 1;min-width:0}.search-box input,.search-box input:focus{width:100%}.file-list.grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.file-item{padding:8px}.file-icon{height:60px;width:60px}.stats-bar{flex-wrap:wrap;gap:12px}}.file-management-page{display:flex;flex-direction:column;height:100%;padding:24px}.page-header h1{color:#24292f;font-size:28px;margin:0 0 8px}.page-header p{color:#8b949e;font-size:16px;margin:0}.file-management-content{flex:1 1;overflow:hidden}@media (max-width:768px){.file-management-page{padding:16px}.page-header h1{font-size:24px}.page-header p{font-size:14px}}.allergies-list{margin:0 auto;max-width:1200px;padding:20px}.allergies-list .page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.allergies-list .page-header h1{color:#111827;font-size:24px;margin:0 0 8px}.allergies-list .subtitle{color:#6b7280;font-size:14px;margin:0}.allergies-list .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.allergies-list .btn-primary{background-color:#3b82f6;color:#fff}.allergies-list .btn-primary:hover{background-color:#2563eb}.allergies-list .controls{margin-bottom:20px}.allergies-list .search-box{max-width:400px;position:relative}.allergies-list .search-box svg{color:#6b7280;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.allergies-list .search-box input{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px 10px 40px;width:100%}.allergies-list .search-box input:focus{border-color:#3b82f6;outline:none}.allergies-list .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.allergies-list .data-table{border-collapse:collapse;table-layout:fixed;width:100%}.allergies-list .data-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.allergies-list .data-table th:first-child{width:80px}.allergies-list .data-table th:last-child{width:120px}.allergies-list .data-table td{border-bottom:1px solid #f3f4f6;padding:16px;vertical-align:middle}.allergies-list .data-table tr:last-child td{border-bottom:none}.allergies-list .allergy-name{align-items:center;color:#dc2626;display:inline-flex;font-weight:500;gap:8px}.allergies-list .allergy-name svg{color:#dc2626}.allergies-list .actions{gap:8px;justify-content:flex-start}.allergies-list .actions,.allergies-list .actions .btn-icon{align-items:center;display:inline-flex!important;float:none!important;position:static!important}.allergies-list .actions .btn-icon{background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;color:#4b5563!important;cursor:pointer;height:36px!important;justify-content:center;padding:8px!important;transition:all .2s;width:36px!important}.allergies-list .actions .btn-icon:hover{background-color:#f3f4f6!important;border-color:#9ca3af!important;color:#111827!important}.allergies-list .actions .btn-icon.btn-danger{border-color:#fecaca!important;color:#dc2626!important}.allergies-list .actions .btn-icon.btn-danger:hover{background-color:#fee2e2!important;border-color:#f87171!important;color:#b91c1c!important}.allergies-list .actions .btn-icon svg{height:18px;width:18px}.allergies-list .empty-state{color:#6b7280;padding:40px;text-align:center}.allergies-list .loading{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:400px}.create-allergy,.edit-allergy{margin:0 auto;max-width:600px;padding:20px}.allergy-form{display:flex;flex-direction:column;gap:24px}.intolerances-list{margin:0 auto;max-width:1200px;padding:20px}.intolerances-list .page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.intolerances-list .page-header h1{color:#111827;font-size:24px;margin:0 0 8px}.intolerances-list .subtitle{color:#6b7280;font-size:14px;margin:0}.intolerances-list .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.intolerances-list .btn-primary{background-color:#3b82f6;color:#fff}.intolerances-list .btn-primary:hover{background-color:#2563eb}.intolerances-list .controls{margin-bottom:20px}.intolerances-list .search-box{max-width:400px;position:relative}.intolerances-list .search-box svg{color:#6b7280;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.intolerances-list .search-box input{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px 10px 40px;width:100%}.intolerances-list .search-box input:focus{border-color:#3b82f6;outline:none}.intolerances-list .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.intolerances-list .data-table{border-collapse:collapse;table-layout:fixed;width:100%}.intolerances-list .data-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.intolerances-list .data-table th:first-child{width:80px}.intolerances-list .data-table th:last-child{width:120px}.intolerances-list .data-table td{border-bottom:1px solid #f3f4f6;padding:16px;vertical-align:middle}.intolerances-list .data-table tr:last-child td{border-bottom:none}.intolerances-list .intolerance-name{align-items:center;color:#f59e0b;display:inline-flex;font-weight:500;gap:8px}.intolerances-list .intolerance-name svg{color:#f59e0b}.intolerances-list .actions{gap:8px;justify-content:flex-start}.intolerances-list .actions,.intolerances-list .actions .btn-icon{align-items:center;display:inline-flex!important;float:none!important;position:static!important}.intolerances-list .actions .btn-icon{background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;color:#4b5563!important;cursor:pointer;height:36px!important;justify-content:center;padding:8px!important;transition:all .2s;width:36px!important}.intolerances-list .actions .btn-icon:hover{background-color:#f3f4f6!important;border-color:#9ca3af!important;color:#111827!important}.intolerances-list .actions .btn-icon.btn-danger{border-color:#fecaca!important;color:#dc2626!important}.intolerances-list .actions .btn-icon.btn-danger:hover{background-color:#fee2e2!important;border-color:#f87171!important;color:#b91c1c!important}.intolerances-list .actions .btn-icon svg{height:18px;width:18px}.intolerances-list .empty-state{color:#6b7280;padding:40px;text-align:center}.intolerances-list .loading{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:400px}.create-intolerance,.edit-intolerance{margin:0 auto;max-width:600px;padding:20px}.intolerance-form{display:flex;flex-direction:column;gap:24px}.pathologies-list{margin:0 auto;max-width:1200px;padding:20px}.pathologies-list .page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:30px}.pathologies-list .page-header h1{color:#111827;font-size:24px;margin:0 0 8px}.pathologies-list .subtitle{color:#6b7280;font-size:14px;margin:0}.pathologies-list .btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.pathologies-list .btn-primary{background-color:#3b82f6;color:#fff}.pathologies-list .btn-primary:hover{background-color:#2563eb}.pathologies-list .controls{margin-bottom:20px}.pathologies-list .search-box{max-width:400px;position:relative}.pathologies-list .search-box svg{color:#6b7280;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.pathologies-list .search-box input{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 12px 10px 40px;width:100%}.pathologies-list .search-box input:focus{border-color:#3b82f6;outline:none}.pathologies-list .table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.pathologies-list .data-table{border-collapse:collapse;table-layout:fixed;width:100%}.pathologies-list .data-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.pathologies-list .data-table th:first-child{width:60px}.pathologies-list .data-table th:nth-child(2){width:80px}.pathologies-list .data-table th:last-child{width:120px}.pathologies-list .data-table td{border-bottom:1px solid #f3f4f6;padding:16px;position:relative;vertical-align:middle}.pathologies-list .data-table tr:last-child td{border-bottom:none}.pathologies-list .expand-btn{align-items:center;background:#f3f4f6!important;border:1px solid #e5e7eb!important;border-radius:4px!important;color:#374151!important;cursor:pointer;display:inline-flex!important;height:32px!important;justify-content:center;opacity:1!important;padding:6px!important;position:static!important;transition:all .2s;width:32px!important}.pathologies-list .expand-btn:hover{background:#e5e7eb!important;color:#111827!important}.pathologies-list .expand-btn svg{stroke:#374151!important;fill:none!important;stroke-width:2!important;color:#374151!important;display:block!important;height:18px!important;opacity:1!important;transition:transform .2s;visibility:visible!important;width:18px!important}.pathologies-list .expand-btn svg *{stroke:inherit!important;stroke-width:inherit!important}.pathologies-list .expand-btn svg.expanded{transform:rotate(90deg)}.pathologies-list .pathology-name{align-items:center;color:#7c3aed;display:inline-flex;font-weight:500;gap:8px}.pathologies-list .pathology-name svg{color:#7c3aed}.pathologies-list .actions{gap:8px;justify-content:flex-start}.pathologies-list .actions,.pathologies-list .actions .btn-icon{align-items:center;display:inline-flex!important;float:none!important;position:static!important}.pathologies-list .actions .btn-icon{background:#fff!important;border:1px solid #d1d5db!important;border-radius:4px!important;color:#4b5563!important;cursor:pointer;height:36px!important;justify-content:center;padding:8px!important;transition:all .2s;width:36px!important}.pathologies-list .actions .btn-icon:hover{background-color:#f3f4f6!important;border-color:#9ca3af!important;color:#111827!important}.pathologies-list .actions .btn-icon.btn-danger{border-color:#fecaca!important;color:#dc2626!important}.pathologies-list .actions .btn-icon.btn-danger:hover{background-color:#fee2e2!important;border-color:#f87171!important;color:#b91c1c!important}.pathologies-list .actions .btn-icon svg{height:18px;width:18px}.pathologies-list .states-row{background-color:#f9fafb}.pathologies-list .states-container{padding:20px 16px 20px 60px}.pathologies-list .states-container h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.pathologies-list .states-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.pathologies-list .states-list li{align-items:center;display:flex;gap:12px}.pathologies-list .state-number{background-color:#e0e7ff;border-radius:4px;color:#4338ca;font-size:12px;font-weight:600;min-width:24px;padding:4px 8px;text-align:center}.pathologies-list .state-name{color:#374151;font-size:14px}.pathologies-list .no-states{color:#6b7280;font-size:14px;font-style:italic;margin:0}.pathologies-list .empty-state{color:#6b7280;padding:40px;text-align:center}.pathologies-list .loading{align-items:center;color:#6b7280;display:flex;justify-content:center;min-height:400px}.create-pathology,.edit-pathology{margin:0 auto;max-width:700px;padding:20px}.page-header{margin-bottom:30px}.btn-ghost{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s}.btn-ghost:hover{background-color:#f3f4f6;color:#111827}.form-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:32px}.form-container h1{color:#111827;font-size:24px;margin:0 0 24px}.pathology-form{display:flex;flex-direction:column;gap:24px}.error-message{background-color:#fee2e2;border-radius:6px;font-size:14px;padding:12px 16px}.form-group{gap:8px}.form-group label{font-size:14px}.form-group input{border-radius:6px;padding:10px 14px}.form-section{display:flex;flex-direction:column;gap:16px}.section-header h3{color:#111827;font-size:16px;font-weight:600;margin:0}.crisis-states{display:flex;flex-direction:column;gap:12px}.crisis-state-item{align-items:center;display:flex;gap:12px}.state-number{background-color:#e0e7ff;border-radius:6px;color:#4338ca;font-size:14px;font-weight:600;min-width:40px;padding:8px 12px;text-align:center}.crisis-state-item input{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:14px;padding:10px 14px}.crisis-state-item input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{gap:12px;margin-top:8px}.btn-icon{border:1px solid #e5e7eb;padding:8px}.btn-icon:hover{background-color:#f9fafb;color:#111827}.btn-icon.btn-danger:hover{border-color:#fecaca}.advanced-file-picker{display:flex;flex-direction:column;gap:8px}.file-picker-label{color:#24292f;font-size:14px;font-weight:500}.file-picker-label .required{color:#d1242f;margin-left:4px}.file-picker-input-container{align-items:center;display:flex;gap:8px}.file-picker-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px;transition:all .2s}.file-picker-input:hover{border-color:#8b949e}.file-picker-input:focus{border-color:#0969da;box-shadow:0 0 0 3px #0969da1a;outline:none}.clear-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#8b949e;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:100px;transition:all .2s;width:32px}.clear-button:hover{background:#0000000d;color:#24292f}.browse-button{background:#0969da;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s;white-space:nowrap}.browse-button:hover{background:#0860ca}.file-picker-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.file-picker-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:85vh;max-width:1200px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.file-picker-header{align-items:center;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:20px 24px}.file-picker-header h2{color:#24292f;font-size:20px;font-weight:600;margin:0}.header-actions{align-items:center;gap:16px}.bucket-selector-btn{align-items:center;background:#f6f8fa;border:1px solid #d1d5db;border-radius:6px;color:#24292f;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:6px 12px;transition:all .2s}.bucket-selector-btn:hover{background:#e7f3ff;border-color:#0969da}.view-mode-buttons{background:#f6f8fa;border-radius:6px;display:flex;gap:4px;padding:4px}.view-mode-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#8b949e;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.view-mode-btn:hover{color:#24292f}.view-mode-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#0969da}.close-button{align-items:center;background:#0000;border:none;border-radius:6px;color:#8b949e;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.close-button:hover{background:#0000000d;color:#24292f}.file-picker-toolbar{align-items:center;background:#f6f8fa;border-bottom:1px solid #e1e4e8;display:flex;gap:16px;justify-content:space-between;padding:12px 24px}.breadcrumb{flex:1 1;gap:8px;overflow-x:auto}.breadcrumb-item{background:none;border:none;border-radius:4px;color:#0969da;cursor:pointer;font-size:14px;padding:4px 8px;transition:all .2s;white-space:nowrap}.breadcrumb-item:hover{background:#0969da1a}.breadcrumb svg{color:#8b949e;flex-shrink:0}.search-container{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;gap:8px;min-width:200px;padding:6px 12px}.search-container svg{color:#8b949e;flex-shrink:0}.search-input{border:none;font-size:14px;outline:none;width:100%}.file-picker-body{display:flex;flex:1 1;overflow:hidden}.file-browser{flex:1 1;overflow-y:auto;padding:16px}.loading{color:#8b949e;font-size:14px;height:100%}.file-grid{grid-gap:12px;display:grid;gap:12px}.file-grid.grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.file-grid.list{gap:2px;grid-template-columns:1fr}.file-item{align-items:center;background:#f6f8fa;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:12px;transition:all .2s}.file-grid.grid .file-item{text-align:center}.file-grid.list .file-item{background:#fff;border:1px solid #e1e4e8;flex-direction:row;padding:8px 12px}.file-item:hover{background:#eef1f4;border-color:#d1d5db}.file-item.selected{background:#e7f3ff;border-color:#0969da}.file-item.folder{color:#0969da}.file-icon{color:#8b949e;margin-bottom:8px}.file-grid.list .file-icon{margin-bottom:0;margin-right:12px}.file-item.folder .file-icon{color:#0969da}.file-info{align-items:center;display:flex;flex-direction:column;gap:4px;width:100%}.file-grid.list .file-info{align-items:center;flex-direction:row;gap:16px}.file-name{color:#24292f;display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.file-grid.list .file-name{flex:1 1;text-align:left}.file-date,.file-size{color:#8b949e;font-size:12px;white-space:nowrap}.empty-state{color:#8b949e;font-size:14px;grid-column:1/-1;padding:48px}.file-preview{background:#fafbfc;border-left:1px solid #e1e4e8;display:flex;flex-direction:column;width:350px}.preview-header{border-bottom:1px solid #e1e4e8;padding:16px 20px}.preview-header h3{color:#24292f;font-size:16px;font-weight:600;margin:0}.preview-content{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:200px;overflow:visible;padding:20px}.preview-content img,.preview-content video{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:100%;max-width:100%;object-fit:contain}.preview-video{height:auto;width:100%}.audio-preview-container{align-items:center;display:flex;flex-direction:column;gap:20px;height:100%;justify-content:center;padding:20px;width:100%}.audio-preview-container svg{color:#0969da}.preview-audio{display:block!important;height:auto!important;margin:0 auto;max-width:300px;min-height:54px;opacity:1!important;visibility:visible!important;width:100%}.no-preview{align-items:center;color:#8b949e;display:flex;flex-direction:column;gap:12px;text-align:center}.no-preview p{font-size:14px;margin:0}.preview-info{border-top:1px solid #e1e4e8;padding:16px 20px}.preview-info .file-name{color:#24292f;font-size:14px;font-weight:500;margin-bottom:4px;text-align:left;word-break:break-word}.preview-info .file-meta{color:#8b949e;font-size:12px;margin:0}.file-picker-footer{background:#fafbfc;border-top:1px solid #e1e4e8;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.btn-secondary{color:#24292f}.btn-secondary:hover:not(:disabled){background:#f6f8fa;border-color:#8b949e}.btn-primary{background:#0969da}.btn-primary:hover:not(:disabled){background:#0860ca}.bucket-selector-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.bucket-selector-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:500px;width:400px}.bucket-selector-header{align-items:center;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:16px 20px}.bucket-selector-header h3{color:#24292f;font-size:16px;font-weight:600;margin:0}.bucket-list{flex:1 1;overflow-y:auto;padding:8px}.bucket-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s}.bucket-item:hover{background:#f6f8fa}.bucket-item.active{background:#e7f3ff;color:#0969da}.bucket-item svg{color:#8b949e}.bucket-item.active svg{color:#0969da}.bucket-name{flex:1 1;font-size:14px}.bucket-badge{background:#28a745;border-radius:4px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px;text-transform:uppercase}@media (max-width:768px){.file-picker-modal{border-radius:0;height:100%;max-width:none;width:100%}.file-preview{display:none}.file-grid.grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.file-picker-toolbar{align-items:stretch;flex-direction:column}.search-container{min-width:100%}}.media-uploader{display:flex;flex-direction:column;gap:.5rem}.media-uploader.disabled{opacity:.6;pointer-events:none}.media-uploader-label{color:#1f2937;color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.media-uploader-label .required{color:#ef4444;color:var(--danger,#ef4444);margin-left:.25rem}.media-uploader-dropzone{align-items:center;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:2px dashed #d1d5db;border:2px dashed var(--border-color,#d1d5db);border-radius:.75rem;display:flex;justify-content:center;min-height:200px;overflow:hidden;position:relative;transition:all .2s ease}.media-uploader-dropzone.dragging{background:#eff6ff;background:var(--primary-light,#eff6ff);border-color:#3b82f6;border-color:var(--primary,#3b82f6);transform:scale(1.01)}.media-uploader-dropzone.has-value{background:#fff;background:var(--bg-primary,#fff);border-style:solid}.media-uploader-dropzone.error{border-color:#ef4444;border-color:var(--danger,#ef4444)}.media-uploader-dropzone.success{border-color:#22c55e;border-color:var(--success,#22c55e)}.media-uploader .hidden-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.media-uploader-placeholder{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}.media-uploader-placeholder .upload-icon{color:#9ca3af;color:var(--text-tertiary,#9ca3af);margin-bottom:1rem}.media-uploader-placeholder .placeholder-text{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;margin:0 0 .5rem}.media-uploader-placeholder .placeholder-hint{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:.8rem;margin:0 0 1.5rem}.browse-existing-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.5rem;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.browse-existing-btn:hover{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-color:#3b82f6;border-color:var(--primary,#3b82f6);color:#3b82f6;color:var(--primary,#3b82f6)}.media-uploader-preview{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.media-uploader-preview-image{object-fit:contain}.media-uploader-preview-image,.media-uploader-preview-video{border-radius:.5rem;max-height:300px;width:100%}.media-uploader-preview-audio{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem;width:100%}.media-uploader-preview-audio svg{color:#3b82f6;color:var(--primary,#3b82f6)}.media-uploader-preview-audio audio{max-width:400px;width:100%}.media-uploader-preview-icon{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.media-uploader-preview-icon .file-name{font-size:.9rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-uploader-loading{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.media-uploader-loading .spin{animation:spin 1s linear infinite}.media-uploader-actions{background:linear-gradient(#0000,#f9fafb);background:linear-gradient(#0000,var(--bg-secondary,#f9fafb));border-radius:0 0 .5rem .5rem;display:flex;gap:.5rem;justify-content:center;padding:1rem}.action-btn{align-items:center;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:.375rem;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:.8rem;gap:.35rem;padding:.5rem .75rem;transition:all .15s ease}.action-btn:hover{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}.action-btn.change:hover{border-color:#3b82f6;border-color:var(--primary,#3b82f6);color:#3b82f6;color:var(--primary,#3b82f6)}.action-btn.browse:hover{border-color:#0ea5e9;border-color:var(--info,#0ea5e9);color:#0ea5e9;color:var(--info,#0ea5e9)}.action-btn.remove{padding:.5rem}.action-btn.remove:hover{background:#fef2f2;background:var(--danger-light,#fef2f2);border-color:#ef4444;border-color:var(--danger,#ef4444);color:#ef4444;color:var(--danger,#ef4444)}.media-uploader-progress{background:#fffffff2;border-radius:0 0 .5rem .5rem;bottom:0;left:0;padding:1rem;position:absolute;right:0}.progress-bar{background:#e5e7eb;background:var(--bg-tertiary,#e5e7eb);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);background:linear-gradient(90deg,var(--primary,#3b82f6),var(--primary-dark,#2563eb));border-radius:4px;height:100%;transition:width .2s ease}.progress-info{align-items:center;display:flex;justify-content:space-between}.progress-text{font-size:.8rem}.cancel-button,.progress-text{color:#6b7280;color:var(--text-secondary,#6b7280)}.cancel-button{align-items:center;background:#e5e7eb;background:var(--bg-tertiary,#e5e7eb);border:none;border-radius:50%;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .15s ease;width:24px}.cancel-button:hover{background:#ef4444;background:var(--danger,#ef4444);color:#fff}.media-uploader-status{align-items:center;border-radius:.375rem;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem}.media-uploader-status.success{background:#f0fdf4;background:var(--success-light,#f0fdf4);color:#22c55e;color:var(--success,#22c55e)}.media-uploader-status.error{background:#fef2f2;background:var(--danger-light,#fef2f2);color:#ef4444;color:var(--danger,#ef4444)}.media-uploader-help{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:.8rem;margin:0}.media-uploader-picker-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.media-uploader-picker-modal{border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:900px;overflow:hidden;position:relative;width:100%}.close-picker-btn,.media-uploader-picker-modal{background:#fff;background:var(--bg-primary,#fff)}.close-picker-btn{align-items:center;border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:50%;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .15s ease;width:40px;z-index:10}.close-picker-btn:hover{background:#ef4444;background:var(--danger,#ef4444);border-color:#ef4444;border-color:var(--danger,#ef4444);color:#fff}@media (max-width:640px){.media-uploader-dropzone{min-height:150px}.media-uploader-placeholder{padding:1.5rem}.media-uploader-placeholder .upload-icon{height:36px;width:36px}.media-uploader-actions{flex-wrap:wrap;padding:.75rem}.action-btn{flex:1 1;justify-content:center;min-width:80px}.media-uploader-picker-overlay{padding:1rem}}.video-player-container{overflow:hidden;position:relative}.video-player-container,.video-player-error,.video-player-loading{align-items:center;background:#000;border-radius:8px;display:flex;justify-content:center}.video-player-error,.video-player-loading{color:#fff;min-height:200px}.video-player-error{color:#ff6b6b}.video-element{cursor:pointer;height:100%;object-fit:contain;width:100%}.video-controls{background:linear-gradient(180deg,#0000,#000c);bottom:0;left:0;opacity:0;padding:20px 16px 16px;position:absolute;right:0;transition:opacity .3s ease}.video-controls.visible{opacity:1}.progress-bar{background:#ffffff4d;border-radius:2px;cursor:pointer;height:4px;margin-bottom:12px;position:relative;transition:height .2s ease;width:100%}.progress-bar:hover{height:6px}.progress-filled{background:#0969da;border-radius:2px;height:100%;position:relative;transition:background .2s ease}.progress-filled:after{background:#0969da;border-radius:50%;content:"";height:12px;opacity:0;position:absolute;right:-6px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:12px}.progress-bar:hover .progress-filled:after{opacity:1}.control-buttons{align-items:center;display:flex;justify-content:space-between}.controls-left,.controls-right{align-items:center;display:flex;gap:8px}.video-controls button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s ease}.video-controls button:hover{background:#fff3}.volume-slider{background:#ffffff4d;opacity:0;transition:all .3s ease;width:0}.volume-control:hover .volume-slider{opacity:1;width:80px}.volume-slider::-webkit-slider-thumb{background:#fff;height:12px;width:12px}.volume-slider::-moz-range-thumb{background:#fff;height:12px;width:12px}.time-display{font-feature-settings:"tnum";color:#fff;font-size:13px;font-variant-numeric:tabular-nums;padding:0 8px;-webkit-user-select:none;user-select:none}.video-player-container:fullscreen{height:100vh!important;max-height:none!important;max-width:none!important;width:100vw!important}.video-player-container:fullscreen .video-controls{padding:30px 20px 20px}@media (max-width:768px){.video-controls{padding:16px 12px 12px}.controls-left,.controls-right{gap:4px}.video-controls button{padding:6px}.volume-control:hover .volume-slider{width:60px}.time-display{font-size:12px;padding:0 4px}}.audio-player{background:#fff;border:1px solid #e1e4e8;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:500px;padding:24px;width:100%}.audio-player.error,.audio-player.loading{align-items:center;color:#8b949e;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.audio-player.error{color:#d1242f}.audio-info{align-items:center;display:flex;gap:16px;margin-bottom:24px}.audio-cover{background:#f6f8fa;border-radius:8px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.audio-cover img{height:100%;object-fit:cover;width:100%}.audio-cover-placeholder{align-items:center;color:#8b949e;display:flex;height:100%;justify-content:center;width:100%}.audio-details{flex:1 1;min-width:0}.audio-title{color:#24292f;font-size:18px;font-weight:600;margin:0 0 4px}.audio-artist,.audio-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-artist{color:#8b949e;font-size:14px;margin:0}.audio-progress-section{align-items:center;display:flex;gap:12px;margin-bottom:24px}.time-current,.time-total{font-feature-settings:"tnum";color:#8b949e;font-size:12px;font-variant-numeric:tabular-nums;min-width:40px}.time-current{text-align:right}.audio-progress-bar{background:#e1e4e8;border-radius:2px;cursor:pointer;flex:1 1;height:4px;position:relative;transition:height .2s ease}.audio-progress-bar:hover{height:6px}.audio-progress-filled{background:#0969da;border-radius:2px;height:100%;position:relative;transition:background .2s ease}.audio-progress-filled:after{background:#0969da;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:16px;opacity:0;position:absolute;right:-8px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:16px}.audio-progress-bar:hover .audio-progress-filled:after{opacity:1}.audio-controls{align-items:center;display:flex;gap:16px;justify-content:space-between}.controls-primary,.controls-secondary{align-items:center;display:flex;gap:12px}.audio-player button{align-items:center;background:none;border:none;border-radius:8px;color:#24292f;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s ease}.audio-player button:hover{background:#f6f8fa}.audio-player button:active{transform:scale(.95)}.play-button{background:#0969da!important;border-radius:50%!important;color:#fff!important;height:48px;width:48px}.play-button:hover{background:#0860ca!important}.audio-player button.active{background:#0969da1a;color:#0969da}.volume-control{align-items:center;display:flex;gap:8px}.volume-slider{-webkit-appearance:none;appearance:none;background:#e1e4e8;border-radius:2px;cursor:pointer;height:4px;outline:none;transition:opacity .2s ease;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#0969da;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-webkit-transition:transform .2s ease;transition:transform .2s ease;width:16px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{background:#0969da;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:16px;-moz-transition:transform .2s ease;transition:transform .2s ease;width:16px}.volume-slider::-moz-range-thumb:hover{transform:scale(1.2)}.playback-rate{color:#8b949e!important;font-size:13px;font-weight:500;min-width:40px}@media (max-width:480px){.audio-player{padding:16px}.audio-info{gap:12px;margin-bottom:16px}.audio-cover{height:60px;width:60px}.audio-title{font-size:16px}.audio-controls{flex-direction:column;gap:12px}.controls-primary{order:2}.controls-secondary{justify-content:space-between;order:1;width:100%}.volume-control{display:none}}.media-viewer{align-items:center;background:#f9fafb;background:var(--bg-secondary,#f9fafb);border-radius:.5rem;display:flex;justify-content:center;overflow:hidden;position:relative}.media-viewer.thumbnail{border-radius:.375rem;cursor:pointer;height:80px;min-height:80px;min-width:80px;transition:transform .15s ease;width:80px}.media-viewer.thumbnail:hover{transform:scale(1.05)}.media-viewer.preview{border-radius:.5rem;min-height:150px}.media-viewer.full,.media-viewer.player{min-height:200px}.media-viewer.loading{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.media-viewer.loading .spin{animation:spin 1s linear infinite}.media-viewer.error{color:#ef4444;color:var(--danger,#ef4444);flex-direction:column;font-size:.85rem;gap:.5rem}.media-viewer.empty{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.media-viewer-image{height:100%;object-fit:cover;width:100%}.media-viewer.full .media-viewer-image,.media-viewer.preview .media-viewer-image{max-height:400px;object-fit:contain}.media-viewer-image.full{max-height:80vh;max-width:100%}.media-viewer-video-thumb{height:100%;position:relative;width:100%}.media-viewer-video-thumb video{height:100%;object-fit:cover;width:100%}.media-viewer-video-preview{position:relative;width:100%}.media-viewer-video-preview video{max-height:400px;object-fit:contain;width:100%}.play-overlay{align-items:center;background:#0009;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s ease;width:40px}.play-overlay.large{height:64px;width:64px}.play-overlay.small{height:32px;width:32px}.media-viewer:hover .play-overlay{background:#3b82f6;background:var(--primary,#3b82f6);transform:translate(-50%,-50%) scale(1.1)}.media-viewer-audio-preview{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem;position:relative}.media-viewer-audio-preview .audio-label{font-size:.9rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer-icon-thumb{color:#9ca3af;color:var(--text-tertiary,#9ca3af);height:100%;width:100%}.media-viewer-file-preview,.media-viewer-icon-thumb{align-items:center;display:flex;justify-content:center}.media-viewer-file-preview{color:#6b7280;color:var(--text-secondary,#6b7280);flex-direction:column;gap:.75rem;padding:2rem}.media-viewer-file-full .file-name,.media-viewer-file-preview .file-name{font-size:.9rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-viewer-file-full{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.media-viewer-file-full .download-link{background:#3b82f6;background:var(--primary,#3b82f6);border-radius:.375rem;color:#fff;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:background .2s ease}.media-viewer-file-full .download-link:hover{background:#2563eb;background:var(--primary-dark,#2563eb)}.expand-btn{align-items:center;background:#00000080;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transition:all .15s ease;width:24px}.media-viewer.thumbnail:hover .expand-btn{opacity:1}.expand-btn:hover{background:#3b82f6;background:var(--primary,#3b82f6)}@media (max-width:640px){.media-viewer.thumbnail{height:60px;min-height:60px;min-width:60px;width:60px}.media-viewer.full .media-viewer-image,.media-viewer.preview .media-viewer-image{max-height:250px}.play-overlay.large{height:48px;width:48px}}.media-display{background:#f6f8fa;border-radius:4px;display:inline-block;overflow:hidden;position:relative}.media-display.loading{align-items:center;color:#8b949e;display:flex;justify-content:center;min-height:100px}.loading-spinner{font-size:14px}.media-display.error{align-items:center;background:#fee;border:1px solid #fdd;color:#d1242f;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:100px;padding:20px}.media-display.error svg{color:#d1242f}.media-display.error span{font-size:14px;text-align:center}.media-image{object-fit:contain}.media-image,.media-video{display:block;height:auto;max-width:100%}.media-audio-container{align-items:center;background:#f6f8fa;border:1px solid #e1e4e8;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:20px}.audio-icon{color:#8b949e}.media-audio{max-width:400px;width:100%}.media-file{align-items:center;background:#f6f8fa;border:1px solid #e1e4e8;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px;padding:40px}.media-file,.media-file svg{color:#8b949e}.media-file a{border:1px solid #0969da;border-radius:4px;color:#0969da;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.media-file a:hover{background:#0969da;color:#fff}.categories-list{max-width:1200px;padding:2rem}.categories-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.category-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .2s}.category-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.category-image{flex-shrink:0;height:80px;width:80px}.category-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.category-content{flex:1 1}.category-content h3{color:#1a1a1a;font-size:1.25rem;margin:0 0 .5rem}.category-actions{display:flex;gap:.5rem;margin-top:.5rem}.category-arrow{color:#999}.category-form{margin:0 auto;max-width:800px;padding:2rem}.checkbox-group{gap:.5rem}.checkbox-group input[type=checkbox]{width:auto}.nutrition-grid input{width:100%}.subcategories-list{margin:0 auto;max-width:1200px;padding:2rem}.subcategories-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.subcategory-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .2s}.subcategory-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.subcategory-image{flex-shrink:0;height:80px;width:80px}.subcategory-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.subcategory-content{flex:1 1}.subcategory-content h3{color:#1a1a1a;font-size:1.25rem;margin:0 0 .5rem}.subcategory-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-icon{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px}.btn-icon:hover{background:#e9ecef}.btn-icon.btn-danger:hover{background:#dc3545;border-color:#dc3545;color:#fff}.subcategory-arrow{color:#999}.subcategory-form{margin:0 auto;max-width:800px;padding:2rem}.btn{border:1px solid #0000;border-radius:.375rem;line-height:1.25rem;padding:.5rem 1rem;transition:all .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus{outline:2px solid #0000;outline-offset:2px}.btn-sm{font-size:.75rem;gap:.375rem;padding:.375rem .75rem}.btn-lg{font-size:1rem;gap:.625rem;padding:.75rem 1.5rem}.btn-primary{background-color:#10b981;border-color:#10b981}.btn-primary:hover:not(:disabled){background-color:#059669;border-color:#059669;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:#047857;border-color:#047857;transform:translateY(0)}.btn-secondary{background-color:#6b7280;border-color:#6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#4b5563;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background-color:#374151;border-color:#374151;transform:translateY(0)}.btn-danger{background-color:#ef4444;border-color:#ef4444}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-danger:active:not(:disabled){background-color:#b91c1c;border-color:#b91c1c;transform:translateY(0)}.btn-ghost{background-color:initial;border-color:#e5e7eb;color:#374151}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-ghost:active:not(:disabled){background-color:#e5e7eb;transform:translateY(0)}.btn-icon{background-color:#f9fafb;border-color:#e5e7eb;padding:.5rem}.btn-icon:hover:not(:disabled){background-color:#f3f4f6;border-color:#d1d5db;box-shadow:0 2px 4px -1px #0000001a;color:#374151;transform:translateY(-1px)}.btn-icon.btn-icon-primary{color:#10b981}.btn-icon.btn-icon-primary:hover:not(:disabled){background-color:#d1fae5;border-color:#a7f3d0;color:#059669}.btn-icon.btn-icon-danger{color:#ef4444}.btn-icon.btn-icon-danger:hover:not(:disabled){background-color:#fee2e2;border-color:#fecaca;color:#dc2626}.btn-group{display:inline-flex;gap:.5rem}.btn-edit{background-color:#10b981;border-color:#10b981;color:#fff}.btn-edit:hover:not(:disabled){background-color:#059669;border-color:#059669;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-edit:active:not(:disabled){background-color:#047857;border-color:#047857;transform:translateY(0)}.btn-back{background-color:initial;border-color:#e5e7eb;color:#374151}.btn-back:hover:not(:disabled){background-color:#f3f4f6;border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-back:active:not(:disabled){background-color:#e5e7eb;transform:translateY(0)}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end}.ingredient-actions,.meal-actions,.menu-actions,.recipe-actions{display:flex;gap:.5rem;margin-top:1rem}.ingredients-list{margin:0 auto;max-width:1200px;padding:2rem}.breadcrumb{color:#666;display:flex;gap:.5rem;margin-bottom:1.5rem}.breadcrumb,.breadcrumb-link{align-items:center;font-size:.9rem}.breadcrumb-link{background:none;border:none;color:#007bff;cursor:pointer;display:inline-flex;gap:.25rem;padding:0}.breadcrumb-link:hover{text-decoration:underline}.page-header{align-items:start}.subtitle{font-size:.95rem;margin-top:.5rem}.controls{margin-bottom:2rem}.ingredients-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.ingredient-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .2s}.ingredient-card:hover{box-shadow:0 4px 12px #0000001a}.ingredient-header{display:flex;gap:1rem;margin-bottom:1rem}.ingredient-image{flex-shrink:0;height:80px;width:80px}.ingredient-image img{border-radius:8px;height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:#f0f0f0;border-radius:8px;color:#666;display:flex;font-size:2rem;font-weight:600;height:100%;justify-content:center;width:100%}.ingredient-info{flex:1 1}.ingredient-info h3{align-items:center;color:#1a1a1a;display:flex;font-size:1.25rem;gap:.5rem;margin:0 0 .5rem}.liquid-icon{color:#007bff}.description-short{color:#666;font-size:.9rem;line-height:1.4;margin:0}.nutrition-info{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:1rem}.nutrition-info h4{color:#333;font-size:.95rem;font-weight:500;margin:0 0 .75rem}.nutrition-grid{grid-gap:.5rem;gap:.5rem;grid-template-columns:repeat(2,1fr)}.nutrition-item{font-size:.85rem}.nutrition-item .value{font-weight:500}.seasons-info{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem}.seasons-label{color:#666}.seasons-list{display:flex;flex-wrap:wrap;gap:.25rem}.season-tag{background:#e7f3ff;border-radius:4px;color:#0056b3;font-size:.8rem;padding:.25rem .5rem}.ingredient-actions{border-top:1px solid #e0e0e0;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.category-subcategory-selector{align-items:flex-start;display:flex;gap:1rem}.category-subcategory-selector .form-group{flex:1 1;margin-bottom:0}.category-subcategory-selector label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.category-subcategory-selector select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.75rem;width:100%}.category-subcategory-selector select:focus{border-color:#007bff;outline:none}.category-subcategory-selector select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.loading-indicator{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}@media (max-width:768px){.category-subcategory-selector{flex-direction:column}.category-subcategory-selector .form-group{margin-bottom:1rem;width:100%}.category-subcategory-selector .form-group:last-child{margin-bottom:0}}.season-selector{background:#f8f9fa;border-radius:8px;padding:1.5rem}.season-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.season-header h3{align-items:center;color:#333;font-size:1.1rem;margin:0}.quick-actions,.season-header h3{display:flex;gap:.5rem}.quick-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s}.quick-btn:hover{background:#e9ecef;border-color:#adb5bd}.seasons-row{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.season-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:25px;color:#666;cursor:pointer;display:flex;font-size:.9rem;gap:.4rem;padding:.6rem 1rem;transition:all .2s}.season-btn:hover{border-color:var(--season-color);color:var(--season-color);transform:translateY(-1px)}.season-btn.selected{background:var(--season-color);border-color:var(--season-color);color:#fff}.season-btn.partial{background:#fff;border-color:var(--season-color);border-style:dashed;color:var(--season-color)}.months-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(6,1fr);margin-bottom:1.5rem}.month-item{cursor:pointer;display:block;position:relative;transition:all .2s}.month-item input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.month-content{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;padding:.8rem .5rem;transition:all .2s}.month-number{color:#495057;font-size:1.2rem;font-weight:600;margin-bottom:.2rem}.month-name{color:#6c757d;font-size:.8rem;margin-bottom:.3rem}.month-icon{opacity:.5;transition:opacity .2s}.month-item:hover .month-content{border-color:var(--season-color);box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.month-item:hover .month-icon{color:var(--season-color);opacity:1}.month-item.selected .month-content{background:var(--season-color);border-color:var(--season-color)}.month-item.selected .month-name,.month-item.selected .month-number{color:#fff}.month-item.selected .month-icon{color:#fff;opacity:1}.selected-summary{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:.75rem;padding:.75rem 1rem}.summary-label{color:#495057}.summary-months{color:#6c757d;font-size:.95rem}@media (max-width:768px){.season-header{align-items:flex-start;flex-direction:column;gap:1rem}.seasons-row{flex-wrap:wrap}.months-grid{gap:.5rem;grid-template-columns:repeat(4,1fr)}.month-content{padding:.6rem .3rem}.month-number{font-size:1rem}.month-name{font-size:.7rem}}@media (max-width:480px){.months-grid{grid-template-columns:repeat(3,1fr)}}.diseases-selector{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.diseases-loading{color:#6c757d;padding:2rem;text-align:center}.diseases-header{margin-bottom:1.5rem}.diseases-tabs{background:#e9ecef;border-radius:6px;display:flex;gap:.5rem;padding:.25rem}.disease-tab{align-items:center;background:#0000;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s}.disease-tab:hover{background:#dee2e6}.disease-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#495057}.diseases-content{background:#fff;border-radius:6px;margin-bottom:1rem;padding:1rem}.diseases-actions{display:flex;gap:.5rem;margin-bottom:1rem}.action-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#495057;cursor:pointer;font-size:.85rem;padding:.4rem .8rem;transition:all .2s}.action-btn:hover{background:#f8f9fa;border-color:#adb5bd}.diseases-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.disease-item-wrapper{display:flex;flex-direction:column;gap:.5rem}.disease-item{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s}.disease-item:hover{background:#e9ecef;border-color:#adb5bd}.disease-item.selected{background:#e7f3ff;border-color:#007bff}.disease-description{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;padding:.75rem;resize:vertical;transition:all .2s;width:100%}.disease-description:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff1a;outline:none}.disease-description::placeholder{color:#999;font-style:italic}.disease-item input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.disease-name{color:#495057;flex:1 1;font-size:.95rem;-webkit-user-select:none;user-select:none}.disease-item.selected .disease-name{color:#0056b3;font-weight:500}.diseases-empty{color:#6c757d;font-style:italic;padding:2rem;text-align:center}.diseases-summary{background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:2rem;padding:1rem}.summary-item{color:#495057;font-size:.95rem;gap:.5rem}.summary-icon{flex-shrink:0}.summary-icon.allergy{color:#dc3545}.summary-icon.intolerance{color:#fd7e14}@media (max-width:768px){.diseases-grid{grid-template-columns:1fr}.diseases-actions{flex-direction:column}.action-btn{width:100%}.diseases-summary{flex-direction:column;gap:.75rem}}
/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rich-text-editor{margin-bottom:1rem}.rich-text-editor .quill{background:#fff;border:1px solid #ddd;border-radius:8px}.rich-text-editor .ql-toolbar{background:#f8f9fa;border:none;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0}.rich-text-editor .ql-container{border:none;border-radius:0 0 8px 8px;font-family:inherit;font-size:.95rem;min-height:200px;min-height:var(--editor-height,200px)}.rich-text-editor .ql-editor{min-height:200px;min-height:var(--editor-height,200px);padding:1rem}.rich-text-editor .ql-editor:before{color:#6c757d;font-style:normal}.rich-text-editor .ql-toolbar button{border-radius:4px;margin:0 2px;transition:background-color .2s}.rich-text-editor .ql-toolbar button:hover{background:#e0e0e0}.rich-text-editor .ql-toolbar button.ql-active{background:#007bff;color:#fff}.rich-text-editor .ql-toolbar .ql-stroke{stroke:#495057}.rich-text-editor .ql-toolbar .ql-fill{fill:#495057}.rich-text-editor .ql-toolbar button.ql-active .ql-stroke{stroke:#fff}.rich-text-editor .ql-toolbar button.ql-active .ql-fill{fill:#fff}.rich-text-editor .ql-editor h1{font-size:2em;margin:.67em 0}.rich-text-editor .ql-editor h2{font-size:1.5em;margin:.75em 0}.rich-text-editor .ql-editor h3{font-size:1.17em;margin:.83em 0}.rich-text-editor .ql-editor blockquote{border-left:4px solid #007bff;color:#6c757d;margin:1em 0;padding-left:1em}.rich-text-editor .ql-editor pre{background:#f4f4f4;border-radius:4px;margin:1em 0;padding:1em}.rich-text-editor .ql-editor a{color:#007bff;text-decoration:underline}.rich-text-editor .ql-editor img{border-radius:4px;height:auto;margin:.5em 0;max-width:100%}.rich-text-editor .ql-container.ql-disabled{background:#f8f9fa}.rich-text-editor .ql-editor.ql-blank:before{left:1rem}.ingredient-form{margin:0 auto;max-width:1000px;padding:2rem}.back-button{border:none;color:#007bff;font-size:.95rem;padding:.5rem}.back-button:hover{text-decoration:underline}.form-header h1{font-size:1.75rem}form{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:2rem}.form-section{margin-bottom:2.5rem}.form-section:last-child{margin-bottom:0}.form-section h2{border-bottom:1px solid #e0e0e0}.form-group label{color:#333}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff}.image-input,.image-preview{align-items:center;display:flex;gap:1rem}.image-preview img{border:1px solid #e0e0e0;border-radius:8px;height:100px;object-fit:cover;width:100px}.checkbox-group{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .2s}.checkbox-group:hover{background:#e9ecef;border-color:#dee2e6}.checkbox-group input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#dee2e6;border-radius:12px;cursor:pointer;height:24px;margin:0;position:relative;transition:all .3s;width:44px}.checkbox-group input[type=checkbox]:checked{background:#007bff}.checkbox-group input[type=checkbox]:before{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:18px;left:3px;position:absolute;top:3px;transition:all .3s;width:18px}.checkbox-group input[type=checkbox]:checked:before{transform:translateX(20px)}.checkbox-group label{align-items:center;color:#495057;display:flex;font-weight:500;gap:.5rem;-webkit-user-select:none;user-select:none}.checkbox-group input[type=checkbox]:checked+label{color:#007bff}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.nutrition-grid .form-group{margin-bottom:0}.btn-secondary{border:1px solid #ddd;color:#333}.btn-secondary:hover{background:#f8f9fa}.error{color:#dc3545;text-align:center}.error,.loading{padding:3rem}.ingredient-view{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;padding:2rem}.ingredient-view-main{grid-gap:30px;display:grid;gap:30px;grid-template-columns:300px 1fr;margin-bottom:40px}.ingredient-view-image{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;height:300px;overflow:hidden;width:300px}.ingredient-view-no-image{align-items:center;color:#999;display:flex;font-style:italic;height:100%;justify-content:center;width:100%}.ingredient-view-info h2{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 1.5rem}.ingredient-view-category,.ingredient-view-subcategory{font-size:16px;margin-bottom:10px}.ingredient-view-category .label,.ingredient-view-subcategory .label,.nutrition-item .label{color:#666;font-weight:600;margin-right:10px}.ingredient-view-short-description{background-color:#f9f9f9;border-radius:4px;margin-top:20px;padding:15px}.ingredient-view-short-description p{color:#555;line-height:1.6;margin:0}.ingredient-view-liquid-badge{align-items:center;background-color:#dbeafe;border-radius:9999px;color:#1e40af;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.5rem 1rem}.ingredient-view-sections{grid-gap:30px;display:grid;gap:30px}.ingredient-view-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.ingredient-view-section h3{border-bottom:2px solid #e5e7eb;color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 1.25rem;padding-bottom:.75rem}.ingredient-view-nutrition{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.nutrition-item{align-items:center;border-radius:.375rem;padding:.75rem;transition:all .15s ease}.nutrition-item:hover{background-color:#f9fafb;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;transform:translateY(-1px)}.ingredient-view-seasons{display:flex;flex-wrap:wrap;gap:10px}.season-tag{background-color:#dcfce7;border:1px solid #bbf7d0;border-radius:9999px;color:#166534;font-size:.875rem;font-weight:500;padding:.375rem 1rem}.ingredient-view-diseases{grid-gap:15px;display:grid;gap:15px}.disease-item{background:#fff;border-left:4px solid #f59e0b;border-radius:.375rem;box-shadow:0 1px 2px 0 #0000000d;padding:1rem;transition:all .15s ease}.disease-item:hover{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;transform:translateX(2px)}.disease-item strong{color:#333;display:block;margin-bottom:5px}.disease-item p{color:#666;font-size:14px;line-height:1.5;margin:0}.ingredient-view-long-description{background:#fff;border-radius:4px;line-height:1.6;padding:20px}.ingredient-view-long-description h1,.ingredient-view-long-description h2,.ingredient-view-long-description h3,.ingredient-view-long-description h4,.ingredient-view-long-description h5,.ingredient-view-long-description h6{margin-bottom:10px;margin-top:20px}.ingredient-view-long-description p{margin-bottom:15px}.ingredient-view-long-description ol,.ingredient-view-long-description ul{margin-bottom:15px;padding-left:30px}.ingredient-view-long-description img{border-radius:4px;height:auto;max-width:100%}@media (max-width:768px){.ingredient-view-main{grid-template-columns:1fr}.ingredient-view-image{margin:0 auto;max-width:400px;width:100%}}.view-ingredient-container{margin:0 auto;max-width:1200px;padding:2rem}.view-ingredient-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.view-ingredient-header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.view-ingredient-actions{display:flex;gap:10px}.view-ingredient-error,.view-ingredient-loading,.view-ingredient-not-found{padding:40px;text-align:center}.view-ingredient-error,.view-ingredient-not-found{color:#666}.view-ingredient-error button,.view-ingredient-not-found button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;margin-top:20px;padding:10px 20px}.view-ingredient-error button:hover,.view-ingredient-not-found button:hover{background-color:#e0e0e0}.eat-recipes-index{margin:0 auto;max-width:1200px;padding:2rem}.page-header{margin-bottom:3rem;text-align:center}.page-header h1{align-items:center;color:#333;display:flex;font-size:2.5rem;gap:1rem;justify-content:center}.subtitle{color:#666;font-size:1.1rem;margin:0}.recipe-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:3rem}.recipe-card{border:2px solid #0000;color:inherit;display:flex;flex-direction:column;padding:2rem;text-decoration:none;transition:all .3s ease}.recipe-card.primary{border-color:#007bff}.recipe-card.primary:hover{background:#f0f8ff}.recipe-card.success{border-color:#28a745}.recipe-card.success:hover{background:#f0fff4}.recipe-card.secondary{border-color:#6c757d}.recipe-card.secondary:hover{background:#f8f9fa}.card-icon{background:#f0f0f0}.recipe-card.primary .card-icon{background:#e7f3ff;color:#007bff}.recipe-card.success .card-icon{background:#e6f7e9;color:#28a745}.recipe-card.secondary .card-icon{background:#e9ecef;color:#6c757d}.recipe-card h2{color:#333;font-size:1.4rem;margin-bottom:.5rem}.recipe-card p{color:#666;flex:1 1;margin-bottom:1.5rem}.card-footer{border-top:1px solid #eee;color:#666;justify-content:space-between;padding-top:1rem}@media (max-width:768px){.eat-recipes-index{padding:1rem}.page-header h1{font-size:2rem}.recipe-cards{gap:1rem;grid-template-columns:1fr}.recipe-card{padding:1.5rem}}.recipes-list{margin:0 auto;max-width:1400px;padding:2rem}.header-left h1{color:#333;font-size:2rem;gap:.5rem}.search-box{min-width:300px}.search-box svg{color:#999}.search-box input{border:1px solid #ddd;border-radius:6px;font-size:.95rem}.search-box input:focus{border-color:#007bff}.filter-select{border:1px solid #ddd;border-radius:6px;font-size:.95rem}.filter-select:focus{border-color:#007bff}.empty-state svg{color:#ddd}.recipes-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.recipe-card{border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s}.recipe-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.recipe-image{background:#f0f0f0;overflow:hidden;position:relative}.recipe-image img{height:100%;object-fit:cover;width:100%}.image-placeholder{background:#f8f8f8;color:#ddd;width:100%}.recipe-badges{display:flex;gap:.5rem;left:1rem;position:absolute;top:1rem}.badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.85rem}.badge.type{border:1px solid #007bff;color:#007bff}.badge.level{border:1px solid #28a745;color:#28a745}.recipe-content{padding:1.5rem}.recipe-content h3{color:#333;font-size:1.3rem;margin:0 0 1rem}.recipe-info{color:#666;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;margin-bottom:1.5rem}.info-item{gap:.3rem}.recipe-actions{display:flex;gap:.5rem}@media (max-width:768px){.recipes-list{padding:1rem}.list-header{align-items:flex-start;gap:1rem}.filters,.list-header{flex-direction:column}.search-box{min-width:100%}.recipes-grid{gap:1rem;grid-template-columns:1fr}}.recipe-steps-editor{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.steps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.steps-header h3{color:#333;font-size:1.2rem;margin:0}.no-steps{color:#666;padding:3rem 1rem;text-align:center}.no-steps p{margin-bottom:1rem}.steps-list{display:flex;flex-direction:column;gap:1.5rem}.step-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.step-header{align-items:center;background:#f0f0f0;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 1.5rem}.step-number{color:#495057;font-weight:600}.step-actions{display:flex;gap:.5rem}.btn-icon{display:flex}.btn-icon:hover:not(:disabled){background:#f0f0f0;border-color:#999}.step-content{padding:1.5rem}.step-content .form-group{margin-bottom:1.5rem}.step-content .form-group:last-child{margin-bottom:0}.step-content label{align-items:center;color:#495057;display:flex;font-weight:500;gap:.5rem;margin-bottom:.5rem}.step-content input[type=text]{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.75rem;width:100%}.step-content input[type=text]:focus{border-color:#007bff;outline:none}.step-content input[readonly]{background:#f8f9fa;cursor:not-allowed}@media (max-width:768px){.steps-header{align-items:flex-start;flex-direction:column;gap:1rem}.step-header{padding:.75rem 1rem}.step-content{padding:1rem}}.recipe-ingredients-editor{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.ingredients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.ingredients-header h3{color:#333;font-size:1.2rem;margin:0}.ingredient-search{margin-bottom:1.5rem}.search-input{margin-bottom:.5rem;position:relative}.search-input svg{color:#999;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.75rem 1rem .75rem 3rem;width:100%}.search-input input:focus{border-color:#007bff;outline:none}.search-results{background:#fff;border:1px solid #ddd;border-radius:6px;max-height:300px;overflow-y:auto}.search-result{align-items:flex-start;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;flex-direction:column;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.search-result:last-child{border-bottom:none}.search-result:hover{background:#f8f9fa}.search-result .ingredient-name{color:#333;font-weight:500;margin-bottom:.25rem}.search-result .ingredient-category{color:#666;font-size:.85rem}.no-ingredients{background:#fff;border:1px dashed #ddd;border-radius:6px;color:#666;padding:2rem;text-align:center}.ingredients-list{background:#fff;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.ingredients-list table{border-collapse:collapse;width:100%}.ingredients-list th{background:#f0f0f0;border-bottom:1px solid #e0e0e0;color:#495057;font-weight:600;padding:.75rem 1rem;text-align:left}.ingredients-list td{border-bottom:1px solid #f0f0f0;padding:.75rem 1rem}.ingredients-list tr:last-child td{border-bottom:none}.ingredient-name-cell{color:#333}.quantity-cell input{border:1px solid #ddd;border-radius:4px;font-size:.9rem;padding:.5rem;text-align:center;width:100px}.quantity-cell input:focus{border-color:#007bff;outline:none}.quantity-cell input[readonly]{background:#f8f9fa;cursor:not-allowed}.unit-cell select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem}.unit-cell select:focus{border-color:#007bff;outline:none}.unit-cell select:disabled{background:#f8f9fa;cursor:not-allowed}.actions-cell{text-align:center}@media (max-width:768px){.ingredients-header{align-items:flex-start;flex-direction:column;gap:1rem}.ingredients-list{overflow-x:auto}.ingredients-list table{min-width:500px}.quantity-cell input{width:80px}}.chronic-pathologies-editor{background:#fff5f5;border:1px solid #fdd;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.pathologies-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.pathologies-header h3{align-items:center;color:#d32f2f;display:flex;font-size:1.2rem;gap:.5rem;margin:0}.pathology-form{background:#fff;border:1px solid #fcc;border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.form-row .form-group{flex:1 1}.form-group select{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.75rem;width:100%}.form-group select:focus{border-color:#ff9800;outline:none}.form-group select:disabled{background:#f8f9fa;cursor:not-allowed}.form-actions{margin-top:1rem}.no-pathologies{background:#fff;border:1px dashed #fcc;border-radius:6px;color:#666;padding:2rem;text-align:center}.no-pathologies p{margin:.5rem 0}.help-text{color:#999;font-size:.9rem}.pathologies-list{display:flex;flex-direction:column;gap:1rem}.pathology-item{border:1px solid #fdd;border-radius:6px;overflow:hidden}.pathology-header{background:#fff5f5;border-bottom:1px solid #fdd;padding:1rem}.pathology-info{align-items:center;display:flex;gap:1rem}.pathology-name{color:#d32f2f;font-weight:600}.pathology-state{background:#ff5722;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.pathology-description{color:#666;font-size:.95rem;line-height:1.6;padding:1rem}.pathology-description h1,.pathology-description h2,.pathology-description h3{color:#333;margin-bottom:.5rem;margin-top:.5rem}.pathology-description p{margin:.5rem 0}.pathology-description ol,.pathology-description ul{margin:.5rem 0;padding-left:1.5rem}.btn-icon{background:#fff;border:1px solid #ddd;border-radius:4px;height:32px;padding:0;width:32px}.btn-icon:hover{background:#f0f0f0;border-color:#999}.btn-icon.danger{color:#dc3545}.btn-icon.danger:hover{background:#fff5f5;border-color:#dc3545}.btn-sm{font-size:.9rem}.btn-warning{background:#ff9800}.btn-warning:hover:not(:disabled){background:#f57c00}@media (max-width:768px){.pathologies-header{align-items:flex-start;gap:1rem}.form-row,.pathologies-header,.pathology-info{flex-direction:column}.pathology-info{align-items:flex-start;gap:.5rem}}.recipe-nutrition{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.nutrition-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.nutrition-header h3{align-items:center;color:#1f2937;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0}.nutrition-toggle{background-color:#e5e7eb;border-radius:.5rem;display:flex;gap:.25rem;padding:.25rem}.toggle-btn{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .2s}.toggle-btn:hover{color:#4b5563}.toggle-btn.active{background-color:#fff;box-shadow:0 1px 2px 0 #0000000d;color:#4f46e5}.nutrition-loading{color:#6b7280;padding:2rem;text-align:center}.nutrition-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1rem}.nutrition-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:all .2s}.nutrition-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px 0 #0000001a}.nutrition-item.primary{background-color:#eef2ff;border-color:#c7d2fe}.nutrition-item.primary .value{color:#4f46e5;font-size:1.5rem}.nutrition-item .label{display:block;font-weight:500;margin-bottom:.25rem}.nutrition-item .value{display:block;margin-bottom:.125rem}.nutrition-item .unit{display:block}.nutrition-note{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem;text-align:center}.nutrition-note p{color:#6b7280;font-size:.875rem;margin:0}@media (max-width:768px){.nutrition-grid{grid-template-columns:repeat(2,1fr)}.nutrition-header{align-items:flex-start;flex-direction:column;gap:1rem}}.recipe-form{margin:0 auto;max-width:1200px;padding:2rem}.form-row{display:flex;margin-bottom:1.5rem}.form-group{flex:1 1}.form-group.flex-2{flex:2 1}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;outline:none}@media (max-width:768px){.recipe-form{padding:1rem}.form-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-section{padding:1.5rem}.form-row{gap:0}.form-actions,.form-row{flex-direction:column}.btn{justify-content:center;width:100%}}.recipe-view{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;padding:2rem}.recipe-view-main{grid-gap:30px;display:grid;gap:30px;grid-template-columns:400px 1fr;margin-bottom:40px}.recipe-view-image{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;height:300px;overflow:hidden;width:400px}.recipe-view-no-image{align-items:center;color:#999;display:flex;font-style:italic;height:100%;justify-content:center;width:100%}.recipe-view-info h2{color:#111827;font-size:2rem;font-weight:700;margin:0 0 1.5rem}.recipe-view-meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.meta-item{align-items:center;color:#666;display:flex;font-size:16px;gap:8px}.difficulty-badge{border:1px solid;border-radius:9999px;font-size:.875rem;font-weight:600;padding:.375rem 1rem;transition:all .15s ease}.difficulty-badge:hover{transform:scale(1.05)}.recipe-view-description{color:#555;line-height:1.6;margin-top:20px}.recipe-view-description p{margin-bottom:10px}.recipe-view-sections{grid-gap:30px;display:grid;gap:30px}.recipe-view-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.recipe-view-section h3{align-items:center;border-bottom:2px solid #e5e7eb;color:#111827;display:flex;font-size:1.25rem;font-weight:600;gap:.625rem;margin:0 0 1.25rem;padding-bottom:.75rem}.recipe-view-pathologies{background-color:#fef3c7;border:1px solid #fde68a}.pathologies-list{grid-gap:15px;display:grid;gap:15px}.pathology-item{background:#fff;border-left:4px solid #ff9800;border-radius:4px;padding:15px}.pathology-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.pathology-header strong{color:#333;font-size:16px}.crisis-state{background-color:#fee2e2;border:1px solid #fecaca;border-radius:9999px;color:#b91c1c;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.pathology-message{color:#666;font-size:14px;line-height:1.5;margin:0}.recipe-view-ingredients{grid-gap:10px;display:grid;gap:10px}.ingredient-item{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.875rem;transition:all .15s ease}.ingredient-item:hover{background-color:#f9fafb;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;transform:translateX(2px)}.ingredient-name{color:#333;font-weight:500}.ingredient-quantity{color:#666}.recipe-view-nutrition{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.nutrition-item{background:#fff;border-radius:4px;display:flex;justify-content:space-between;padding:12px}.nutrition-item .label{color:#666;font-weight:600}.nutrition-item .value{color:#333}.recipe-view-steps{grid-gap:20px;display:grid;gap:20px}.step-item{display:flex;gap:20px}.step-number{background-color:#10b981;box-shadow:0 2px 4px #10b98133;color:#fff;flex-shrink:0;height:2.5rem;width:2.5rem}.step-content{flex:1 1}.step-content h4{color:#333;font-size:18px;margin:0 0 10px}.step-description{color:#555;line-height:1.6;margin-bottom:15px}.step-description p{margin-bottom:10px}.step-media{border-radius:8px;margin-top:15px;max-width:400px;overflow:hidden}@media (max-width:768px){.recipe-view-main{grid-template-columns:1fr}.recipe-view-image{margin:0 auto;max-width:400px;width:100%}.recipe-view-meta{justify-content:center}}.view-recipe-container{margin:0 auto;max-width:1200px;padding:2rem}.view-recipe-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.view-recipe-header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.view-recipe-actions{display:flex;gap:10px}.view-recipe-error,.view-recipe-loading,.view-recipe-not-found{padding:40px;text-align:center}.view-recipe-error,.view-recipe-not-found{color:#666}.view-recipe-error button,.view-recipe-not-found button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;margin-top:20px;padding:10px 20px}.view-recipe-error button:hover,.view-recipe-not-found button:hover{background-color:#e0e0e0}.recipe-levels-page,.recipe-types-page{margin:0 auto;max-width:1200px;padding:2rem}.levels-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.level-form-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:2rem}.level-form h2{color:#1f2937;font-size:1.25rem;margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%}.levels-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.levels-table{border-collapse:collapse;width:100%}.levels-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:1rem;text-align:left}.levels-table td{border-bottom:1px solid #f3f4f6;padding:1rem}.levels-table tbody tr:last-child td{border-bottom:none}.levels-table tbody tr:hover{background-color:#f9fafb}.order-col{color:#6b7280;font-weight:500;width:80px}.recipe-quantities-page{margin:0 auto;max-width:1200px;padding:2rem}.quantities-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.quantity-form-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:2rem}.quantity-form h2{color:#1f2937;font-size:1.25rem;margin-bottom:1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%}.quantities-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.quantities-table{border-collapse:collapse;width:100%}.quantities-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:1rem;text-align:left}.quantities-table td{border-bottom:1px solid #f3f4f6;padding:1rem}.quantities-table tbody tr:last-child td{border-bottom:none}.quantities-table tbody tr:hover{background-color:#f9fafb}.abbreviation-col{color:#4b5563;font-family:monospace;font-weight:500}.type-col{width:120px}.type-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.type-badge.type-weight{background-color:#dbeafe;color:#1e40af}.type-badge.type-volume{background-color:#e0e7ff;color:#4338ca}.type-badge.type-piece{background-color:#d1fae5;color:#047857}.type-badge.type-other{background-color:#f3f4f6;color:#4b5563}.description-col{color:#6b7280}.meals-index,.meals-list{margin:0 auto;max-width:1200px;padding:2rem}.filter-select{border-radius:.5rem;min-width:150px;padding:.75rem 1rem}.filter-select:focus{border-color:#4f46e5}.meals-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.meal-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .2s}.meal-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.meal-header{align-items:flex-start;display:flex;justify-content:space-between}.meal-type{align-items:center;background-color:#f3f4f6;border-radius:9999px;color:#4b5563;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.meal-type svg{color:#6b7280}.meal-card h3{color:#1f2937;font-size:1.25rem;margin:0 0 .75rem}.meal-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.875rem;margin:0 0 1rem;overflow:hidden}.meal-info{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.recipe-count{align-items:center;background-color:#eef2ff;border-radius:9999px;color:#4f46e5;display:inline-flex;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.meal-actions{display:flex;gap:.5rem}@media (max-width:768px){.meals-grid{grid-template-columns:1fr}.filters{flex-direction:column}.search-box{max-width:none}}.meal-recipes-editor{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.meal-recipes-editor h2{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;gap:.5rem;margin-bottom:1.5rem}.recipes-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.recipe-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:1rem;padding:1rem;position:relative}.recipe-main{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:1fr 1fr}.recipe-alternative,.recipe-select{display:flex;flex-direction:column;gap:.5rem}.recipe-alternative label,.recipe-select label{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:500;gap:.25rem}.recipe-alternative select,.recipe-select select{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;padding:.75rem}.recipe-alternative select:focus,.recipe-select select:focus{border-color:#4f46e5;outline:none}.recipe-alternative select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.btn-remove{align-self:center}.add-recipe{justify-content:center;width:100%}@media (max-width:768px){.recipe-main{grid-template-columns:1fr}.recipe-item{flex-direction:column}.btn-remove{position:absolute;right:.5rem;top:.5rem}}.meal-form{margin:0 auto;max-width:1200px;padding:2rem}.form-row{margin-bottom:1rem}.form-group.flex-2{grid-column:span 2}.form-group label{gap:.25rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;padding:.75rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5;outline:none}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-group.flex-2{grid-column:span 1}.form-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}}.meal-view{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;padding:2rem}.meal-view-header{margin-bottom:30px;text-align:center}.meal-type-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:inline-flex;gap:15px;padding:20px 40px}.meal-type-icon{font-size:48px}.meal-type-badge h2{font-size:1.75rem;font-weight:600;margin:0}.meal-description{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;font-size:1rem;line-height:1.6;margin-top:1rem;padding:1rem}.meal-view-sections{grid-gap:30px;display:grid;gap:30px}.meal-view-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.meal-view-section h3{align-items:center;border-bottom:2px solid #e5e7eb;color:#111827;display:flex;font-size:1.25rem;font-weight:600;gap:.625rem;margin:0 0 1.5rem;padding-bottom:.75rem}.meal-recipes{grid-gap:30px;display:grid;gap:30px}.meal-recipe-group{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr auto 1fr}.recipe-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden;position:relative}.recipe-badge{background:#10b981;border-radius:9999px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.75rem;font-weight:600;left:.625rem;padding:.375rem .875rem;position:absolute;top:.625rem;z-index:1}.recipe-badge.alternative{background:#3b82f6}.recipe-image{background-color:#f5f5f5;height:200px;width:100%}.recipe-no-image{align-items:center;color:#999;display:flex;font-style:italic;height:100%;justify-content:center;width:100%}.recipe-info{padding:20px}.recipe-info h4{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .625rem}.recipe-type{color:#6b7280}.recipe-level,.recipe-type{font-size:.875rem;margin-bottom:.375rem}.recipe-level{color:#7c3aed;font-weight:500}.recipe-duration{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.recipe-description-preview{border-top:1px solid #e5e7eb;color:#4b5563;font-size:.875rem;line-height:1.5;margin-top:.75rem;padding-top:.75rem}.recipe-description-preview>div{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:3rem;overflow:hidden;text-overflow:ellipsis}.recipe-separator{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:.625rem;justify-content:center}.recipe-separator svg{animation:rotate 2s linear infinite;color:#3b82f6}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.meal-statistics{background:#fff;border-radius:8px;padding:25px}.stat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;transition:all .15s ease}.stat-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}@media (max-width:768px){.meal-recipe-group{grid-template-columns:1fr}.recipe-separator{padding:20px 0}}.view-meal-container{margin:0 auto;max-width:1200px;padding:2rem}.view-meal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.view-meal-header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.view-meal-actions{display:flex;gap:10px}.view-meal-error,.view-meal-loading,.view-meal-not-found{padding:40px;text-align:center}.view-meal-error,.view-meal-not-found{color:#666}.view-meal-error button,.view-meal-not-found button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;margin-top:20px;padding:10px 20px}.view-meal-error button:hover,.view-meal-not-found button:hover{background-color:#e0e0e0}.meal-types-page{margin:0 auto;max-width:1200px;padding:2rem}.back-button{margin-bottom:1rem;text-decoration:none;transition:color .2s}.page-header h1{color:#1f2937;margin:0}.types-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.btn-primary:hover{background-color:#4338ca}.type-form-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:2rem}.type-form h2{color:#1f2937;font-size:1.25rem;margin-bottom:1.5rem}.form-group input{padding:.75rem}.types-list{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.types-table{border-collapse:collapse;width:100%}.types-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:1rem}.types-table td{border-bottom:1px solid #f3f4f6;padding:1rem}.types-table tbody tr:last-child td{border-bottom:none}.types-table tbody tr:hover{background-color:#f9fafb}.name-col{color:#1f2937;font-weight:500}.actions-col{text-align:right;width:120px}.btn-icon{background-color:initial;height:36px;width:36px}.btn-icon:hover{color:#4b5563}.menus-index,.menus-list{margin:0 auto;max-width:1200px;padding:2rem}.menus-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.menu-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .2s}.menu-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.menu-header{align-items:center;display:flex;gap:.75rem}.menu-header svg{color:#4f46e5}.menu-header h3{color:#1f2937;flex:1 1;font-size:1.25rem;margin:0}.menu-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.menu-actions{border-top:1px solid #f3f4f6;display:flex;gap:.5rem;padding-top:1rem}@media (max-width:768px){.menus-grid{grid-template-columns:1fr}.search-box{max-width:none}}.menu-meals-editor{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.editor-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.editor-header h2{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;gap:.5rem;margin:0}.type-filter{border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;min-width:150px;padding:.5rem 1rem}.type-filter:focus{border-color:#4f46e5;outline:none}.meals-by-type{grid-gap:1rem;background-color:#f9fafb;border-radius:.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem;padding:1rem}.type-section h3{align-items:center;color:#4b5563;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin:0 0 .5rem}.type-section .count{background-color:#e5e7eb;border-radius:9999px;color:#6b7280;font-size:.75rem;margin-left:auto;padding:.125rem .5rem}.type-meals{display:flex;flex-wrap:wrap;gap:.5rem}.meal-tag{background-color:#fff;border:1px solid #e5e7eb;border-radius:9999px;color:#4b5563;font-size:.75rem;padding:.25rem .75rem}.meals-list{flex-direction:column;margin-bottom:1rem}.meal-item,.meals-list{display:flex;gap:.75rem}.meal-item{align-items:center}.meal-item select{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex:1 1;font-size:.875rem;padding:.75rem}.meal-item select:focus{border-color:#4f46e5;outline:none}.btn-remove{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-remove:hover{background-color:#fee2e2;color:#dc2626}.empty-state{font-style:italic;padding:2rem}.add-meal{justify-content:center;width:100%}.loading{padding:2rem}@media (max-width:768px){.editor-header{align-items:stretch;flex-direction:column;gap:1rem}.meals-by-type{grid-template-columns:1fr}}.menu-form{margin:0 auto;max-width:1200px;padding:2rem}.form-section{border:1px solid #e5e7eb;border-radius:.75rem}.form-section h2{margin-bottom:1.5rem}.form-group{flex-direction:column;gap:.5rem}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;padding:.75rem}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5;outline:none}.nutrition-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.nutrition-summary h3{align-items:center;color:#1f2937;display:flex;font-size:1.125rem;gap:.5rem;margin-bottom:1rem}.nutrition-values{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.nutrition-item{text-align:center}.nutrition-item .label{color:#6b7280;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.nutrition-item .value{color:#1f2937;font-size:1.25rem;font-weight:600}.nutrition-item .unit{color:#9ca3af;font-size:.875rem}.form-actions{margin-top:2rem}.btn{border-radius:.5rem}.btn-primary{background-color:#4f46e5}.btn-primary:hover:not(:disabled){background-color:#4338ca}.btn-secondary{background-color:#f3f4f6;color:#4b5563}.btn-secondary:hover{background-color:#e5e7eb}.error{align-items:center;color:#dc2626;display:flex;justify-content:center;min-height:400px}@media (max-width:768px){.form-header{align-items:flex-start;flex-direction:column}.form-actions{flex-direction:column-reverse}.btn{justify-content:center;width:100%}.nutrition-values{grid-template-columns:repeat(2,1fr)}}.menu-view{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;padding:2rem}.menu-view-header{margin-bottom:40px;text-align:center}.menu-view-header h2{color:#111827;font-size:2rem;font-weight:700;margin:0 0 1rem}.menu-info{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;color:#6b7280;display:inline-flex;font-size:1rem;gap:.625rem;padding:.625rem 1.25rem}.menu-view-sections{grid-gap:30px;display:grid;gap:30px}.menu-view-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem}.menu-view-section h3{align-items:center;border-bottom:2px solid #e5e7eb;color:#111827;display:flex;font-size:1.25rem;font-weight:600;gap:.625rem;margin:0 0 1.5rem;padding-bottom:.75rem}.menu-meals{grid-gap:30px;display:grid;gap:30px}.meal-type-group{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;overflow:hidden}.meal-type-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:10px;padding:15px 20px}.meal-type-header h4{font-size:1.125rem;font-weight:600;margin:0}.meal-type-content{padding:20px}.menu-meal-item{background-color:#fafbfc;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.menu-meal-item:last-child{margin-bottom:0}.meal-header{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:.75rem}.meal-header h5{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.meal-description-small{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.menu-meal-recipes{grid-gap:15px;display:grid;gap:15px}.menu-recipe{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .15s ease}.menu-recipe:last-child{margin-bottom:0}.menu-recipe:hover{background:#f9fafb;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;transform:translateX(4px)}.recipe-image-small{background-color:#f0f0f0;border-radius:6px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.recipe-no-image-small{align-items:center;color:#999;display:flex;font-size:12px;height:100%;justify-content:center;text-align:center;width:100%}.recipe-info-small{flex:1 1}.recipe-info-small h5{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .375rem}.recipe-info-small .recipe-type,.recipe-meta{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.alternative-indicator,.recipe-meta{align-items:center;display:flex;gap:.375rem}.alternative-indicator{background-color:#dbeafe;border-radius:9999px;color:#3b82f6;display:inline-flex;font-size:.75rem;font-weight:500;margin-top:.5rem;padding:.25rem .5rem}.menu-statistics{background:#fff;border-radius:8px;padding:25px}.stat-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-item{background:#f5f5f5;border-radius:6px;display:flex;flex-direction:column;padding:15px;text-align:center}.stat-item.highlight{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.stat-item.highlight .stat-label,.stat-item.highlight .stat-value{color:#fff}.stat-item.highlight:hover{box-shadow:0 10px 25px -5px #667eea66;transform:translateY(-4px)}.stat-label{font-size:14px;margin-bottom:8px}.stat-value{color:#333;font-size:24px;font-weight:600}.stat-summary{grid-gap:20px;border-top:1px solid #e0e0e0;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding-top:20px}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:10px 0}.summary-label{color:#666;font-weight:500}.summary-value{color:#4caf50;font-size:20px;font-weight:600}@media (max-width:768px){.menu-recipe{flex-direction:column;text-align:center}.recipe-image-small{margin:0 auto}}.view-menu-container{margin:0 auto;max-width:1200px;padding:2rem}.view-menu-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.view-menu-header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.view-menu-actions{display:flex;gap:10px}.view-menu-error,.view-menu-loading,.view-menu-not-found{padding:40px;text-align:center}.view-menu-error,.view-menu-not-found{color:#666}.view-menu-error button,.view-menu-not-found button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;margin-top:20px;padding:10px 20px}.view-menu-error button:hover,.view-menu-not-found button:hover{background-color:#e0e0e0}.menu-statistics{margin:0 auto;max-width:1400px;padding:2rem}.statistics-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.statistics-header h1{color:#1f2937;font-size:2rem;margin:0}.statistics-grid{display:flex;flex-direction:column;gap:2rem}.stat-section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.stat-section h2{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;gap:.5rem;margin-bottom:1.5rem}.usage-table{overflow-x:auto}.usage-table table{border-collapse:collapse;width:100%}.usage-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:.75rem;text-align:left}.usage-table td{border-bottom:1px solid #f3f4f6;padding:.75rem}.usage-table tbody tr:last-child td{border-bottom:none}.usage-table tbody tr:hover{background-color:#f9fafb}.menu-name{color:#1f2937}.text-center{text-align:center}.text-muted{color:#9ca3af}.stat-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.25rem .75rem}.stat-badge.users{background-color:#dbeafe;color:#1e40af}.stat-badge.usage{background-color:#e0e7ff;color:#4338ca}.dietary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.dietary-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem}.dietary-card h3{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.125rem;margin:0 0 1rem;padding-bottom:.75rem}.dietary-section{margin-bottom:1rem}.dietary-section:last-child{margin-bottom:0}.dietary-section h4{color:#4b5563;font-size:.875rem;font-weight:500;margin:0 0 .5rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-weight:500;padding:.25rem .75rem}.tag.allergen{background-color:#fee2e2;color:#dc2626}.tag.intolerance{background-color:#fef3c7;color:#d97706}.warnings{display:flex;flex-direction:column;gap:.5rem}.warning{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:.375rem;color:#92400e;font-size:.875rem;padding:.5rem}.warning strong{color:#78350f}.no-restrictions{color:#10b981;font-style:italic;margin:0}@media (max-width:768px){.dietary-cards{grid-template-columns:1fr}.usage-table{font-size:.875rem}.usage-table td,.usage-table th{padding:.5rem}}.nutritionists-index{margin:0 auto;max-width:1200px;padding:2rem}.index-header{margin-bottom:3rem;text-align:center}.index-header h1{color:#1f2937;font-size:2.5rem;gap:.75rem;justify-content:center;margin-bottom:.5rem}.index-header p{color:#6b7280;font-size:1.125rem;margin:0}.index-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.index-card{border:2px solid #e5e7eb;border-radius:1rem;color:inherit;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.index-card:before{background:#e5e7eb;content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:background .3s ease}.index-card.primary:before{background:#4f46e5}.index-card.secondary:before{background:#10b981}.index-card:hover{border-color:#d1d5db;box-shadow:0 10px 25px #0000001a;transform:translateY(-4px)}.index-card.primary:hover{border-color:#4f46e5}.index-card.secondary:hover{border-color:#10b981}.card-icon{background:#f3f4f6;border-radius:1rem;color:#6b7280;height:80px;margin-bottom:1.5rem;transition:all .3s ease;width:80px}.index-card.primary .card-icon{background:#eef2ff;color:#4f46e5}.index-card.secondary .card-icon{background:#d1fae5;color:#10b981}.index-card:hover .card-icon{transform:scale(1.1)}.index-card h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.index-card p{color:#6b7280;flex-grow:1;margin:0 0 1.5rem}.card-footer{align-items:center;color:#4b5563;display:flex;font-weight:500;gap:.5rem;transition:color .3s ease}.index-card:hover .card-footer{color:#1f2937}.index-card.primary:hover .card-footer{color:#4f46e5}.index-card.secondary:hover .card-footer{color:#10b981}@media (max-width:768px){.index-header h1{font-size:2rem}.index-grid{grid-template-columns:1fr}}.nutritionists-list{margin:0 auto;max-width:1200px;padding:2rem}.list-header{gap:1rem}.list-header h1{color:#1f2937;gap:.5rem}.search-box svg{color:#9ca3af;left:1rem}.search-box input{border-radius:.5rem;padding:.75rem 1rem .75rem 3rem}.search-box input:focus{border-color:#4f46e5}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.nutritionists-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.nutritionist-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .2s}.nutritionist-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.nutritionist-card.default{border-color:#4f46e5;border-width:2px}.nutritionist-header{align-items:center;display:flex;gap:.75rem}.nutritionist-header svg{color:#4f46e5}.nutritionist-header h3{color:#1f2937;flex:1 1;font-size:1.25rem;margin:0}.badge-primary{background:#eef2ff;color:#4f46e5}.nutritionist-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.info-item{color:#6b7280;font-size:.875rem;gap:.5rem}.info-item svg{color:#9ca3af}.nutritionist-actions{border-top:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem}@media (max-width:768px){.nutritionists-grid{grid-template-columns:1fr}.search-box{max-width:none}}.nutritionist-form{margin:0 auto;max-width:800px;padding:2rem}.form-header h1{color:#1f2937;gap:.5rem}.form-content{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:2rem}.form-section h2{border-bottom:1px solid #e5e7eb;color:#1f2937;padding-bottom:.75rem}.form-group input{border-radius:.5rem;font-size:1rem;padding:.75rem 1rem}.form-group input:focus{border-color:#4f46e5}.form-actions{border-top:1px solid #e5e7eb;padding-top:1.5rem}@media (max-width:768px){.nutritionist-form{padding:1rem}.form-content{padding:1.5rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}.nutritionist-planning{margin:0 auto;max-width:1400px;padding:2rem}.planning-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.header-left{gap:1rem}.back-button{border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;display:inline-flex}.back-button:hover{background:#f9fafb;border-color:#d1d5db;color:#4b5563}.planning-header h1{align-items:center;color:#1f2937;display:flex;font-size:2rem;gap:.5rem;margin:0}.calendar-container{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;overflow:hidden}.calendar-nav{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:1rem 1.5rem}.calendar-nav,.nav-btn{align-items:center;display:flex}.nav-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;height:40px;justify-content:center;transition:all .2s;width:40px}.nav-btn:hover{border-color:#4f46e5;color:#4f46e5}.current-month{align-items:center;display:flex;gap:1rem}.current-month span{color:#1f2937;font-size:1.25rem;font-weight:600;text-transform:capitalize}.today-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.today-btn:hover{border-color:#4f46e5;color:#4f46e5}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header-cell{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:600;padding:1rem;text-align:center}.calendar-cell{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;cursor:pointer;min-height:120px;padding:.75rem;transition:background .2s}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.empty{background:#f9fafb;cursor:default}.calendar-cell:hover:not(.empty){background:#f3f4f6}.calendar-cell.past{background:#f9fafb;opacity:.7}.calendar-cell.today{background:#eef2ff}.calendar-cell.today .day-number{align-items:center;background:#4f46e5;border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.calendar-cell.has-menu{background:#f0fdf4}.day-number{color:#1f2937;font-weight:600;margin-bottom:.5rem}.day-menu{background:#10b981;border-radius:.5rem;color:#fff;display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.menu-name{font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-meals{font-size:.625rem;opacity:.8}.day-empty{align-items:center;border:2px dashed #d1d5db;border-radius:.5rem;color:#9ca3af;display:flex;font-size:.75rem;height:50px;justify-content:center}.calendar-cell:hover:not(.empty):not(.past) .day-empty{border-color:#4f46e5;color:#4f46e5}.modal-overlay{background:#00000080;z-index:1000}.modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 25px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header h2{color:#1f2937;font-size:1.25rem;margin:0}.close-btn{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body .form-group{margin-bottom:1.5rem}.modal-body .form-group:last-child{margin-bottom:0}.modal-body label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.modal-body input[type=date],.modal-body select{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;padding:.75rem 1rem;width:100%}.modal-body input[type=date]:focus,.modal-body select:focus{border-color:#4f46e5;outline:none}.help-text{color:#6b7280;margin-top:.5rem}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.loading{color:#6b7280}@media (max-width:1024px){.calendar-cell{min-height:100px;padding:.5rem}.menu-name{font-size:.625rem}}@media (max-width:768px){.nutritionist-planning{padding:1rem}.planning-header{align-items:flex-start;flex-direction:column}.planning-header h1{font-size:1.5rem}.calendar-header-cell{font-size:.75rem;padding:.5rem}.calendar-cell{min-height:80px;padding:.25rem}.day-number{font-size:.875rem}.day-menu{padding:.25rem}.menu-name{font-size:.5rem}.menu-meals{display:none}.day-empty{font-size:.625rem;height:30px}.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.menu-shopping-list{margin:0 auto;max-width:1400px;padding:24px}.list-header{margin-bottom:24px}.header-actions{gap:12px}.btn{gap:8px;padding:10px 20px}.btn-primary:disabled{opacity:.6}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-tertiary)}.spin{animation:spin 1s linear infinite}.menu-info-banner{align-items:center;background:var(--bg-secondary);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.menu-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.last-calculated{color:var(--text-secondary);font-size:.9rem}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:24px;padding:16px}.empty-state{background:var(--bg-secondary)}.shopping-lists-container{display:flex;flex-direction:column;gap:32px}.shopping-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.shopping-section h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;gap:12px;margin:0 0 20px}.shopping-section.alternatives{background:#f59e0b0d;border-color:var(--warning-color)}.shopping-section.alternatives h2{color:var(--warning-color)}.section-description{color:var(--text-secondary);font-size:.9rem;margin:-12px 0 20px}.categories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.category-card{background:var(--bg-secondary);border-radius:8px;padding:16px}.category-card h3{border-bottom:1px solid var(--border-color);color:var(--primary-color);font-size:1rem;margin:0 0 12px;padding-bottom:8px}.category-card.alternative h3{color:var(--warning-color)}.ingredients-list{list-style:none;margin:0;padding:0}.ingredient-item{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:8px 0}.ingredient-item:last-child{border-bottom:none}.ingredient-name{align-items:center;color:var(--text-primary);display:flex;gap:8px}.ingredient-name svg,.ingredient-quantity{color:var(--text-secondary)}.ingredient-quantity{font-weight:600;white-space:nowrap}.shopping-list-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;margin-top:24px;padding-top:24px}@media (max-width:768px){.list-header{gap:16px}.list-header,.menu-info-banner{align-items:flex-start;flex-direction:column}.menu-info-banner{gap:8px}.categories-grid{grid-template-columns:1fr}}.ingredient-densities{margin:0 auto;max-width:1400px;padding:24px}.page-header{margin-bottom:24px}.header-left{gap:16px}.header-left h1{align-items:center;color:var(--text-primary);display:flex;font-size:1.75rem;gap:12px;margin:0}.back-button{background:var(--bg-secondary)}.back-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.info-banner{background:#eff6ff;background:var(--info-bg,#eff6ff);border:1px solid #bfdbfe;border:1px solid var(--info-border,#bfdbfe);border-radius:8px;margin-bottom:24px;padding:16px}.info-banner p{color:#1e40af;color:var(--info-text,#1e40af);font-size:.95rem;margin:0}.success-message{align-items:center;background:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46;display:flex;gap:8px;margin-bottom:24px;padding:12px 16px}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.stat-card.success{background:#d1fae5;border-color:#a7f3d0}.stat-card.warning{background:#fef3c7;border-color:#fcd34d}.stat-value{color:var(--text-primary);display:block;font-size:2rem}.stat-card.success .stat-value{color:#065f46}.stat-card.warning .stat-value{color:#92400e}.stat-label{color:var(--text-secondary);display:block;margin-top:4px}.filters-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.search-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;gap:12px;padding:8px 16px}.search-box input{background:#0000;border:none;flex:1 1;font-size:1rem;outline:none}.filter-buttons{display:flex;gap:8px}.filter-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:6px;padding:8px 16px;transition:all .2s}.filter-btn:hover{background:var(--bg-tertiary)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ingredients-table-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:32px;overflow:hidden}.ingredients-table{border-collapse:collapse;width:100%}.ingredients-table th{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-weight:600;padding:12px 16px;text-align:left}.ingredients-table td{border-bottom:1px solid var(--border-light);padding:12px 16px}.ingredients-table tr:last-child td{border-bottom:none}.ingredients-table tr.modified{background:#fef9c3}.ingredient-name-cell{color:var(--text-primary);font-weight:500}.category-cell{display:flex;flex-direction:column;gap:4px}.category-badge{color:var(--primary-color);font-size:.8rem}.subcategory{color:var(--text-secondary);font-size:.75rem}.density-cell{align-items:center;display:flex;gap:8px}.density-cell input{border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;padding:8px 12px;text-align:right;width:100px}.density-cell input.missing{background:#fef3c7;border-color:var(--warning-color)}.density-cell input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f633;outline:none}.density-unit{color:var(--text-secondary);font-size:.9rem}.actions-cell{width:140px}.btn{font-size:.875rem}.btn-sm{font-size:.8rem}.empty-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center}.empty-state p{font-size:1.1rem;margin:0}.common-densities{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.common-densities h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 16px}.density-examples{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.density-example{align-items:center;background:var(--bg-primary);border-radius:6px;display:flex;justify-content:space-between;padding:10px 14px}.example-name{color:var(--text-primary);font-size:.9rem}.example-value{color:var(--primary-color);font-size:.9rem;font-weight:600}@media (max-width:768px){.filters-row{flex-direction:column}.filter-buttons{flex-wrap:wrap}.ingredients-table-container{overflow-x:auto}.ingredients-table{min-width:600px}}.posts-list{margin:0 auto;max-width:1400px;padding:20px}.posts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.post-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.post-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.post-image{background:var(--bg-secondary);height:200px;overflow:hidden;position:relative}.post-image img{height:100%;object-fit:cover;width:100%}.post-badges{display:flex;gap:8px;position:absolute;right:12px;top:12px}.badge{background:#ffffffe6;border-radius:16px;padding:4px 12px}.badge.category{background:var(--primary-color);color:#fff}.badge.starred{align-items:center;background:var(--warning-color);color:#fff;display:flex;gap:4px}.post-content{padding:20px}.post-content h3{color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.post-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-info{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px}.info-item{gap:4px}.post-actions{display:flex;gap:8px}@media (max-width:768px){.posts-list{padding:15px}.list-header{align-items:flex-start;flex-direction:column}.posts-grid{gap:16px;grid-template-columns:1fr}.filters{flex-direction:column;width:100%}.search-box{min-width:100%}.filter-select{width:100%}}.post-form{margin:0 auto;max-width:1200px;padding:2rem}.form-group select{background:#fff}.selected-image{display:inline-block;margin-top:1rem;position:relative}.selected-image img{border:1px solid #ddd;border-radius:8px;max-height:200px;max-width:300px}.selected-image .btn-danger{position:absolute;right:8px;top:8px}.btn-danger,.btn-sm{font-size:.85rem;padding:.5rem 1rem}@media (max-width:768px){.post-form{padding:1rem}.form-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-section{padding:1.5rem}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}.selected-image img{max-width:100%}}.starred-posts{margin:0 auto;max-width:1200px;padding:20px}.list-header h1{color:#ffc107;color:var(--warning-color)}.info-box{background:#d1ecf1;background:var(--bg-info);border:1px solid #bee5eb;border:1px solid var(--border-info);border-radius:8px;margin-bottom:30px;padding:16px 20px}.info-box p{color:#0c5460;color:var(--text-info);font-size:14px;line-height:1.6;margin:0}.starred-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.starred-card{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.starred-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-image{background:#f8f9fa;background:var(--bg-secondary);height:180px;overflow:hidden;position:relative}.card-image img{height:100%;object-fit:cover;width:100%}.image-placeholder{color:#999;color:var(--text-tertiary);height:100%}.image-placeholder,.star-badge{align-items:center;display:flex;justify-content:center}.star-badge{background:#ffc107;background:var(--warning-color);border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;height:36px;position:absolute;right:12px;top:12px;width:36px}.card-content{display:flex;flex:1 1;flex-direction:column;padding:20px}.category-badge{align-self:flex-start;background:#007bff;background:var(--primary-color);border-radius:16px;color:#fff;display:inline-block;font-size:12px;font-weight:500;margin-bottom:12px;padding:4px 12px}.card-content h3{color:#333;color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.post-excerpt{flex:1 1;font-size:14px;line-height:1.6}.card-info,.post-excerpt{color:#666;color:var(--text-secondary);margin-bottom:16px}.card-info{align-items:center;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;font-size:13px;justify-content:space-between;padding-top:12px}.date{color:#999;color:var(--text-tertiary)}.bookmarks{color:#666;color:var(--text-secondary)}.card-actions{display:flex;gap:8px}.btn{flex:1 1;justify-content:center}.btn-warning{background:#ffc107;background:var(--warning-color);color:#fff}.btn-warning:hover{background:#e0a800;background:var(--warning-hover)}.empty-state svg{color:#ffc107;color:var(--warning-color)}:root{--warning-hover:#e0a800;--text-info:#0c5460;--border-info:#bee5eb;--bg-info:#d1ecf1}@media (max-width:768px){.starred-posts{padding:15px}.list-header{align-items:flex-start;flex-direction:column}.starred-grid{gap:16px;grid-template-columns:1fr}.card-actions{flex-direction:column}.btn{width:100%}}.categories-list{margin:0 auto;max-width:1000px;padding:20px}.create-category{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;margin-bottom:30px;padding:20px}.create-category .form-group{display:flex;gap:12px}.create-category input{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;flex:1 1;font-size:14px;padding:10px 16px}.create-category input:focus{border-color:#007bff;border-color:var(--primary-color);outline:none}.categories-table{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.categories-table table{border-collapse:collapse;width:100%}.categories-table th{background:#f8f9fa;background:var(--bg-secondary);color:#333;color:var(--text-primary);font-weight:600;text-align:left}.categories-table td,.categories-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px}.categories-table tr:last-child td{border-bottom:none}.categories-table tr:hover{background:#f5f5f5;background:var(--bg-hover)}.categories-table td input{border:1px solid #007bff;border:1px solid var(--primary-color);border-radius:4px;font-size:14px;padding:6px 12px;width:100%}.posts-count{align-items:center;color:#666;color:var(--text-secondary);display:flex;gap:6px}.btn-danger:hover:not(:disabled){background:#c82333;background:var(--danger-hover)}@media (max-width:768px){.categories-list{padding:15px}.list-header{align-items:flex-start}.create-category .form-group,.list-header{flex-direction:column}.categories-table{overflow-x:auto}.categories-table table{min-width:500px}}.exercises-list{margin:0 auto;max-width:1400px;padding:20px}.filters{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.search-box{flex:1 1;min-width:250px}.search-box svg{color:#666;color:var(--text-secondary);left:12px;top:50%;transform:translateY(-50%)}.search-box input{padding:10px 12px 10px 40px}.filter-select,.search-box input{border:1px solid #e0e0e0;border:1px solid var(--border-color);font-size:14px}.filter-select{background:#fff;border-radius:8px;padding:10px 16px}.exercises-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.exercise-card{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.exercise-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.exercise-media{background:#f8f9fa;background:var(--bg-secondary);height:220px;overflow:hidden;position:relative}.exercise-preview{height:100%;object-fit:cover;width:100%}.media-placeholder{align-items:center;color:#999;color:var(--text-tertiary);display:flex;height:100%;justify-content:center}.exercise-badges{display:flex;gap:8px;position:absolute;right:12px;top:12px}.badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border-radius:20px;display:flex;font-size:12px;gap:4px;padding:6px 12px}.badge.difficulty{font-weight:600}.badge.difficulty.easy{background:#28a745;background:var(--success-color);color:#fff}.badge.difficulty.medium{background:#ffc107;background:var(--warning-color);color:#fff}.badge.difficulty.hard{background:#dc3545;background:var(--danger-color);color:#fff}.badge.difficulty.expert{background:#6f42c1;color:#fff}.exercise-content{padding:20px}.exercise-content h3{color:#333;color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.4;margin:0 0 8px}.exercise-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;color:var(--text-secondary);display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 12px;overflow:hidden}.exercise-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border-radius:16px;color:#666;color:var(--text-secondary);display:flex;font-size:13px;gap:4px;padding:4px 10px}.tag svg{color:#999;color:var(--text-tertiary)}.exercise-stats{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);display:flex;gap:16px;margin-bottom:16px;padding-top:12px}.stat{color:#666;color:var(--text-secondary);font-size:13px;gap:6px}.stat.rating{color:#ffc107;color:var(--warning-color)}.stars{display:flex;gap:2px}.stat.bookmarks{color:#007bff;color:var(--primary-color)}.exercise-actions{display:flex;gap:8px}.btn-primary:hover{background:#0056b3;background:var(--primary-hover)}.empty-state p{margin-bottom:20px}@media (max-width:768px){.exercises-list{padding:15px}.list-header{align-items:flex-start;flex-direction:column}.exercises-grid{gap:16px;grid-template-columns:1fr}.filters{flex-direction:column;width:100%}.search-box{min-width:100%}.filter-select{width:100%}}.exercise-form{margin:0 auto;max-width:1200px;padding:2rem}.form-header{border-bottom:1px solid #e0e0e0;gap:2rem;padding-bottom:1rem}.form-header h1{align-items:center;color:#333;display:flex;gap:.75rem}.back-button{background:#0000;border:1px solid #ddd;border-radius:6px;gap:.5rem;padding:.5rem 1rem}.back-button:hover{background:#f0f0f0;border-color:#999;color:#333}.form-section{border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:2rem}.form-section h2{color:#333;font-size:1.3rem;margin:0 0 1.5rem}.form-row{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.form-row .form-group{margin-bottom:0}.form-group label{align-items:center;color:#495057;display:flex;gap:.5rem}.form-group input[type=text],.form-group select{background:#fff;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;width:100%}.form-group select{cursor:pointer}.form-group input[type=text]:focus,.form-group select:focus{border-color:#007bff;outline:none}.form-help{color:#6c757d;display:block;font-size:.875rem;margin-top:.5rem}.form-actions{border-top:1px solid #e0e0e0;margin-top:3rem}.btn{border-radius:8px;font-size:.95rem;gap:.5rem;padding:.75rem 1.5rem}.btn:disabled{opacity:.6}.loading{align-items:center;display:flex;font-size:1.1rem;justify-content:center;min-height:400px}@media (max-width:768px){.exercise-form{padding:1rem}.form-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-section{padding:1.5rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}}.exercise-types{margin:0 auto;max-width:800px;padding:20px}.create-type{margin-bottom:30px;padding:20px}.create-type,.types-table{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px}.types-table{overflow:hidden}.types-table table{border-collapse:collapse;width:100%}.types-table th{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);color:#333;color:var(--text-primary);font-weight:600;padding:16px;text-align:left}.types-table th:last-child{text-align:center;width:150px}.types-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px}.types-table tr:last-child td{border-bottom:none}.types-table tr:hover{background:#f5f5f5;background:var(--bg-hover)}.types-table td input{border:1px solid #007bff;border:1px solid var(--primary-color);border-radius:4px;font-size:14px;padding:6px 12px;width:100%}@media (max-width:768px){.exercise-types{padding:15px}.list-header{align-items:flex-start}.form-group,.list-header{flex-direction:column}.types-table{overflow-x:auto}.types-table table{min-width:400px}}.exercise-difficulties{margin:0 auto;max-width:800px;padding:20px}.create-difficulty{margin-bottom:30px;padding:20px}.create-difficulty,.difficulties-table{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px}.difficulties-table{overflow:hidden}.difficulties-table table{border-collapse:collapse;width:100%}.difficulties-table th{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);color:#333;color:var(--text-primary);font-weight:600;padding:16px;text-align:left}.difficulties-table th:nth-child(2){width:180px}.difficulties-table th:last-child{text-align:center;width:150px}.difficulties-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px}.difficulties-table tr:last-child td{border-bottom:none}.difficulties-table tr:hover{background:#f5f5f5;background:var(--bg-hover)}.difficulties-table td input{border:1px solid #007bff;border:1px solid var(--primary-color);border-radius:4px;font-size:14px;padding:6px 12px;width:100%}.difficulty-preview{align-items:center;border-radius:20px;color:#fff;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px}.difficulty-preview.easy{background:#28a745;background:var(--success-color)}.difficulty-preview.medium{background:#ffc107;background:var(--warning-color)}.difficulty-preview.hard{background:#dc3545;background:var(--danger-color)}.difficulty-preview.expert{background:#6f42c1}:root{--warning-color:#ffc107}@media (max-width:768px){.exercise-difficulties{padding:15px}.list-header{align-items:flex-start}.form-group,.list-header{flex-direction:column}.difficulties-table{overflow-x:auto}.difficulties-table table{min-width:500px}}.exercise-zones{margin:0 auto;max-width:800px;padding:20px}.list-header{flex-wrap:wrap;gap:20px;margin-bottom:30px}.header-left{gap:20px}.header-left,.list-header h1{align-items:center;display:flex}.list-header h1{color:#333;color:var(--text-primary);font-size:28px;gap:12px;margin:0}.create-zone{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;margin-bottom:30px;padding:20px}.form-group{display:flex;gap:12px}.form-group input{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;flex:1 1;font-size:14px;padding:10px 16px}.form-group input:focus{border-color:#007bff;border-color:var(--primary-color)}.zones-table{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.zones-table table{border-collapse:collapse;width:100%}.zones-table th{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);color:#333;color:var(--text-primary);font-weight:600;padding:16px;text-align:left}.zones-table th:last-child{text-align:center;width:150px}.zones-table td{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:16px}.zones-table tr:last-child td{border-bottom:none}.zones-table tr:hover{background:#f5f5f5;background:var(--bg-hover)}.zones-table td input{border:1px solid #007bff;border:1px solid var(--primary-color);border-radius:4px;font-size:14px;padding:6px 12px;width:100%}.zone-name{align-items:center;color:#333;color:var(--text-primary);display:flex;gap:8px}.zone-name svg{color:#007bff;color:var(--primary-color)}.actions{display:flex;gap:8px;justify-content:center}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-sm{font-size:13px;padding:6px 12px}.btn-primary{background:#007bff;background:var(--primary-color)}.btn-primary:hover:not(:disabled){background:#0056b3;background:var(--primary-hover)}.btn-secondary{background:#6c757d;background:var(--secondary-color);color:#fff}.btn-secondary:hover{background:#545b62;background:var(--secondary-hover)}.btn-success{background:#28a745;background:var(--success-color);color:#fff}.btn-success:hover{background:#218838;background:var(--success-hover)}.btn-danger{background:#dc3545;background:var(--danger-color);color:#fff}.btn-danger:hover{background:#c82333;background:var(--danger-hover)}.btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{color:#666;color:var(--text-secondary);padding:60px 20px}.empty-state svg{color:#999;color:var(--text-tertiary);margin-bottom:20px}.empty-state p,.loading{font-size:16px}.loading{color:#666;color:var(--text-secondary);padding:60px;text-align:center}:root{--primary-hover:#0056b3;--secondary-color:#6c757d;--secondary-hover:#545b62;--success-color:#28a745;--success-hover:#218838;--danger-color:#dc3545;--danger-hover:#c82333;--text-tertiary:#999;--bg-hover:#f5f5f5}@media (max-width:768px){.exercise-zones{padding:15px}.list-header{align-items:flex-start}.form-group,.list-header{flex-direction:column}.zones-table{overflow-x:auto}.zones-table table{min-width:400px}}.exercises-index{margin:0 auto;max-width:1200px;padding:20px}.index-header{gap:20px;margin-bottom:40px}.back-button,.index-header{align-items:center;display:flex}.back-button{background:none;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;color:#666;color:var(--text-secondary);cursor:pointer;gap:8px;padding:8px 16px;transition:all .2s}.back-button:hover{background:#f8f9fa;background:var(--bg-secondary)}.index-header h1{align-items:center;color:#333;color:var(--text-primary);display:flex;font-size:28px;gap:12px;margin:0}.index-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.index-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;padding:30px;text-align:center;text-decoration:none;transition:all .2s}.index-card:hover{border-color:#007bff;border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-icon{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border-radius:50%;color:#007bff;color:var(--primary-color);display:flex;height:100px;justify-content:center;margin-bottom:20px;width:100px}.index-card:hover .card-icon{background:#007bff;background:var(--primary-color);color:#fff}.index-card h2{color:#333;color:var(--text-primary);font-size:20px;margin:0 0 10px}.index-card p{color:#666;color:var(--text-secondary);font-size:14px;margin:0}:root{--primary-color:#007bff;--text-primary:#333;--text-secondary:#666;--border-color:#e0e0e0;--bg-secondary:#f8f9fa}@media (max-width:768px){.exercises-index{padding:15px}.index-header{align-items:flex-start;flex-direction:column;gap:10px}.index-grid{gap:16px;grid-template-columns:1fr}}.medias-list{padding:2rem}.filters{grid-template-columns:1fr auto auto auto}.filter-select{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.medias-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.media-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:transform .2s,box-shadow .2s}.media-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.media-preview{aspect-ratio:16/9;background-color:#f3f4f6;overflow:hidden}.media-content{padding:1.25rem}.media-content h3{color:#1a1a1a;font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.media-badges{display:flex;gap:.5rem;margin-bottom:.75rem}.badge{border-radius:9999px;font-weight:500}.badge-type{background-color:#dbeafe;color:#1e40af}.badge-category{background-color:#d1fae5;color:#065f46}.media-stats{display:flex;gap:1rem;margin-bottom:.75rem}.stat:last-child svg{color:#3b82f6}.media-date{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;gap:.25rem;margin-bottom:1rem}.media-actions{border-top:1px solid #f3f4f6;display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}@media (max-width:768px){.medias-list{padding:1rem}.list-header{align-items:stretch;flex-direction:column;gap:1rem}.filters,.medias-grid{grid-template-columns:1fr}}.media-form{margin:0 auto;max-width:800px;padding:2rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.field-help{color:#6b7280;font-size:.75rem;margin-top:.5rem}@media (max-width:768px){.media-form{padding:1rem}.form-header{align-items:stretch;flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}}.courses-list{padding:2rem}.list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.list-header h1{color:#1a1a1a;font-size:2rem;font-weight:600}.btn-primary{text-decoration:none}.btn-primary:hover{background-color:#2563eb}.filters{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto;margin-bottom:2rem}.search-box{align-items:center;display:flex;max-width:400px;position:relative}.search-box svg{color:#6b7280;left:.75rem;pointer-events:none;position:absolute}.search-box input{border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem 1rem .5rem 2.5rem;width:100%}.search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-info{color:#6b7280;font-size:.875rem;white-space:nowrap}.courses-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.course-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem;transition:transform .2s,box-shadow .2s}.course-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.course-icon{align-items:center;background-color:#eff6ff;border-radius:.5rem;color:#3b82f6;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.course-content h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.course-badge{align-items:center;background-color:#dbeafe;border-radius:9999px;color:#1e40af;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem}.course-badge svg{height:16px;width:16px}.course-stats{display:flex;gap:1rem;margin-bottom:.75rem}.stat{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.25rem}.stat svg{color:#fbbf24}.course-date{color:#9ca3af;font-size:.75rem;margin-bottom:1rem}.course-actions{border-top:1px solid #f3f4f6;display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.empty-state{background-color:#f9fafb;border-radius:.5rem}.empty-state p{color:#6b7280;font-size:1.125rem;margin-bottom:1.5rem}@media (max-width:768px){.courses-list{padding:1rem}.list-header{align-items:stretch;flex-direction:column;gap:1rem}.filters{grid-template-columns:1fr}.search-box{max-width:100%}.courses-grid{grid-template-columns:1fr}}.course-form{margin:0 auto;max-width:1000px;padding:2rem}.form-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.form-header h1{color:#1a1a1a;font-size:2rem;font-weight:600;margin:0}.btn-back{align-items:center;background:none;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-back:hover{background-color:#f9fafb;color:#374151}.form-content{display:flex;flex-direction:column;gap:2rem}.form-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.form-section h2{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.form-group:last-child,.section-header h2{margin-bottom:0}.form-group input,.form-group select{border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-add{align-items:center;background-color:#10b981;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.btn-add:hover{background-color:#059669}.days-list{display:flex;flex-direction:column;gap:1rem}.day-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.25rem}.day-header{justify-content:space-between;margin-bottom:1rem}.day-header,.day-title{align-items:center;display:flex}.day-title{color:#374151;font-weight:600;gap:.5rem}.day-title svg{color:#3b82f6}.day-content{display:flex;flex-direction:column;gap:1rem}.selected-media{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;display:flex;gap:.75rem;padding:.75rem}.media-preview-small{border-radius:.25rem;flex-shrink:0;height:60px;overflow:hidden;width:60px}.media-thumbnail{height:100%;object-fit:cover;width:100%}.media-info{flex:1 1}.media-info p{color:#374151;font-weight:500;margin:0}.btn-select-media{align-items:center;background:#fff;border:2px dashed #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem;transition:all .2s;width:100%}.btn-select-media:hover{background-color:#eff6ff;border-color:#3b82f6;color:#3b82f6}.form-actions{padding-top:2rem}.btn-primary,.btn-secondary{align-items:center;border-radius:.5rem;display:inline-flex;font-weight:500;gap:.5rem}.btn-secondary{border:1px solid #e5e7eb}.modal-overlay{align-items:center;background-color:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:50}.modal-content{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{color:#374151;font-size:1.25rem;font-weight:600;margin:0}.btn-close{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;transition:all .2s;width:2rem}.btn-close:hover{background-color:#f3f4f6;color:#374151}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.medias-grid-modal{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.media-option{border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;padding:1rem;transition:all .2s}.media-option:hover{background-color:#f9fafb;border-color:#3b82f6}.media-preview-modal{aspect-ratio:16/9;background-color:#f3f4f6;border-radius:.25rem;margin-bottom:.75rem;overflow:hidden;width:100%}.media-details h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.media-tags{display:flex;gap:.5rem}.tag{border-radius:9999px;display:inline-block;font-size:.75rem;padding:.125rem .5rem}.tag-type{background-color:#dbeafe;color:#1e40af}.tag-category{background-color:#d1fae5;color:#065f46}@media (max-width:768px){.course-form{padding:1rem}.form-header{align-items:stretch;flex-direction:column}.section-header{gap:1rem}.form-actions,.section-header{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.medias-grid-modal{grid-template-columns:1fr}}.categories-page{margin:0 auto;max-width:1024px;padding:2rem}.page-header{align-items:center}.page-header h1{font-weight:600}.btn-primary{align-items:center;background-color:#3b82f6;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{opacity:.5}.form-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.form-card h2{color:#374151;font-size:1.125rem;font-weight:600}.form-card h2,.form-group{margin-bottom:1rem}.form-group label{color:#374151;font-size:.875rem;font-weight:500}.form-group input{border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{gap:.5rem}.btn-secondary{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-secondary:hover{background-color:#f9fafb}.categories-table-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background-color:#f9fafb}.data-table th{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.75rem 1.5rem;text-align:left;text-transform:uppercase}.data-table th:last-child{text-align:right}.data-table td{border-top:1px solid #e5e7eb;padding:1rem 1.5rem}.data-table tr:hover{background-color:#f9fafb}.category-name{gap:.75rem}.category-icon,.category-name{align-items:center;display:flex}.category-icon{background-color:#f3f4f6;border-radius:.375rem;color:#6b7280;height:2rem;justify-content:center;width:2rem}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-icon{align-items:center;background:none;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:inline-flex;height:2rem;justify-content:center;transition:all .2s;width:2rem}.btn-icon:hover{background-color:#f3f4f6;color:#3b82f6}.btn-icon.btn-danger:hover{background-color:#fee2e2;color:#dc2626}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.empty-state{color:#6b7280;padding:3rem}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:3rem;width:3rem}@media (max-width:768px){.categories-page{padding:1rem}.page-header{align-items:stretch;flex-direction:column;gap:1rem}.data-table td,.data-table th{padding:.75rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}}.assign-device-workflow{margin:0 auto;max-width:900px;padding:2rem}.workflow-header{margin-bottom:3rem;text-align:center}.workflow-header h1{color:#1a1a1a;font-size:2rem;margin-bottom:.5rem}.workflow-subtitle{color:#666;font-size:1rem}.workflow-progress{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.workflow-progress:before{background:#e0e0e0;content:"";height:2px;left:0;position:absolute;right:0;top:20px;z-index:0}.workflow-progress .step{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;position:relative;z-index:1}.step-number{align-items:center;background:#e0e0e0;border-radius:50%;color:#999;display:flex;font-weight:700;height:40px;justify-content:center;transition:all .3s ease;width:40px}.step.active .step-number{background:#4caf50;color:#fff;transform:scale(1.1)}.step.completed .step-number{background:#2196f3;color:#fff}.step-label{color:#666;font-size:.875rem;text-align:center}.step.active .step-label{color:#4caf50;font-weight:600}.workflow-step{display:flex;flex-direction:column;gap:2rem}.confirm-card,.device-info-card,.search-device-card,.select-user-card,.success-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.confirm-card h2,.search-device-card h2,.select-user-card h2,.success-card h2{color:#1a1a1a;margin-bottom:1.5rem}.search-input-group{display:flex;gap:1rem;margin-bottom:1rem}.serial-input,.user-search-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s}.serial-input:focus,.user-search-input:focus{border-color:#4caf50;outline:none}.help-text{color:#666;font-size:.875rem;margin:0}.device-info-card{background:#f8f9fa;border-left:4px solid #4caf50}.device-info-card h3{color:#1a1a1a;margin-bottom:1rem}.device-info{display:flex;flex-direction:column;gap:.75rem}.info-item{align-items:center;display:flex;justify-content:space-between}.info-item .label{color:#666;font-size:.875rem}.info-item .value{color:#1a1a1a;font-weight:600}.badge{font-size:.875rem;padding:.25rem .75rem}.users-list{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;max-height:400px;overflow-y:auto}.user-item{align-items:center;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s}.user-item:last-child{border-bottom:none}.user-item:hover{background-color:#f5f5f5}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-name{color:#1a1a1a;font-weight:600}.user-email{color:#666;font-size:.875rem}.btn-select{background:#0000;border:2px solid #4caf50;border-radius:6px;color:#4caf50;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-select:hover{background:#4caf50;color:#fff}.confirmation-details{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0;padding:2rem}.detail-section{text-align:center;width:100%}.detail-section h3{color:#666;font-size:.875rem;margin-bottom:.5rem;text-transform:uppercase}.detail-value{color:#1a1a1a;font-size:1.25rem}.detail-subvalue{color:#666;font-size:.875rem;margin-top:.25rem}.association-arrow{color:#4caf50;font-size:2rem}.confirm-actions{display:flex;flex-direction:column;gap:1rem}.success-card{padding:3rem 2rem;text-align:center}.success-icon{align-items:center;animation:scaleIn .3s ease;background:#4caf50;border-radius:50%;color:#fff;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message{color:#666;font-size:1.125rem;margin-bottom:2rem}.success-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-large{font-size:1.125rem;padding:1rem 2rem}.empty-state,.loading-state{color:#666;padding:3rem;text-align:center}@media (max-width:768px){.assign-device-workflow{padding:1rem}.workflow-progress{overflow-x:auto}.step-label{font-size:.75rem}.confirm-actions,.search-input-group,.success-actions{flex-direction:column}}.unassigned-devices{margin:0 auto;max-width:1400px;padding:2rem}.time-ago{color:#666;font-size:.875rem}.fcm-token{color:#666;font-family:Courier New,monospace;font-size:.75rem}.btn-assign{background:#0000;border:2px solid #4caf50;border-radius:6px;color:#4caf50;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-assign:hover{background:#4caf50;color:#fff}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.page-indicator{color:#666;font-weight:600}@media (max-width:1024px){.devices-table-container{overflow-x:auto}.devices-table{min-width:800px}}@media (max-width:768px){.unassigned-devices{padding:1rem}.page-header{align-items:stretch}.header-actions,.page-header{flex-direction:column}.devices-table td,.devices-table th{font-size:.875rem;padding:.75rem .5rem}}.devices-list{margin:0 auto;max-width:1400px;padding:2rem}.stat-card.stat-success{border-left-color:#4caf50}.stat-card.stat-warning{border-left-color:#ff9800}.filters-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;padding:1rem}.filter-tabs{display:flex;gap:.5rem}.filter-tab{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.filter-tab:hover{background:#f5f5f5}.filter-tab.active{background:#4caf50;color:#fff}.search-box input{border:2px solid #e0e0e0;border-radius:8px;font-size:.875rem;min-width:300px;padding:.75rem 1rem;transition:border-color .2s}.search-box input:focus{border-color:#4caf50;outline:none}.devices-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.devices-table{border-collapse:collapse;width:100%}.devices-table thead{background:#f8f9fa}.devices-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.devices-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.devices-table tbody tr:hover{background-color:#f8f9fa}.devices-table tbody tr:last-child{border-bottom:none}.devices-table td{color:#1a1a1a;padding:1rem}.serial-cell{display:flex;flex-direction:column;gap:.25rem}.serial-number{color:#1a1a1a;font-weight:600}.device-id-hint{color:#999;font-family:Courier New,monospace;font-size:.75rem}.badge-success{background:#e8f5e9;color:#2e7d32}.badge-warning{background:#fff3e0;color:#e65100}.user-cell{display:flex;flex-direction:column;gap:.25rem}.user-email{color:#1a1a1a}.not-assigned{color:#999}.action-buttons{display:flex;gap:.5rem}.btn-assign-small,.btn-unlink{border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.btn-unlink{background:#0000;border:2px solid #f44336;color:#f44336}.btn-unlink:hover:not(:disabled){background:#f44336;color:#fff}.btn-unlink:disabled{cursor:not-allowed;opacity:.5}.btn-assign-small{background:#0000;border:2px solid #4caf50;color:#4caf50}.btn-assign-small:hover{background:#4caf50;color:#fff}.page-footer{margin-top:2rem;text-align:center}.footer-text{color:#666;font-size:.875rem}@media (max-width:1024px){.filters-bar{align-items:stretch;flex-direction:column}.search-box input{min-width:100%}.devices-table-container{overflow-x:auto}.devices-table{min-width:900px}}@media (max-width:768px){.devices-list{padding:1rem}.page-header{align-items:stretch}.filter-tabs,.header-actions,.page-header{flex-direction:column}.filter-tab{text-align:left}.devices-table td,.devices-table th{font-size:.875rem;padding:.75rem .5rem}}.shared-secrets-list{margin:0 auto;max-width:1400px;padding:2rem}.page-header{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between}.header-actions{display:flex;gap:1rem}.warning-content h3{margin:0 0 .5rem}.warning-content p{color:#666;font-size:.875rem;margin:0}.stats-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border-left:4px solid #2196f3;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-card.stat-active{border-left-color:#4caf50}.stat-card.stat-scheduled{border-left-color:#2196f3}.stat-card.stat-inactive{border-left-color:#9e9e9e}.stat-value{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#666;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.btn-primary,.btn-secondary{font-size:.875rem;padding:.75rem 1.5rem;white-space:nowrap}.btn-primary:hover{background:#45a049}.btn-secondary:hover{border-color:#999;color:#333}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#4caf50;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:#1a1a1a;margin-bottom:.5rem}.empty-state p{color:#666;margin-bottom:2rem}.secrets-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;overflow:hidden}.secrets-table{border-collapse:collapse;width:100%}.secrets-table thead{background:#f8f9fa}.secrets-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.secrets-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.secrets-table tbody tr:hover{background-color:#f8f9fa}.secrets-table tbody tr:last-child{border-bottom:none}.secrets-table td{color:#1a1a1a;padding:1rem}.version-cell{display:flex;flex-direction:column;gap:.25rem}.version-name{color:#1a1a1a;font-size:1.125rem;font-weight:600}.secret-id-hint{color:#999;font-size:.75rem}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .75rem;white-space:nowrap}.badge-active{background:#e8f5e9;color:#2e7d32}.badge-scheduled{background:#e3f2fd;color:#1565c0}.badge-inactive{background:#f5f5f5;color:#616161}.badge-expired{background:#ffebee;color:#c62828}.validity-dates{display:flex;flex-direction:column;gap:.25rem}.date-row{display:flex;gap:.5rem}.date-label{color:#999;font-size:.875rem;min-width:40px}.date-value{color:#1a1a1a;font-size:.875rem}.period-active{color:#2e7d32;font-weight:600}.period-future{color:#1565c0;font-size:.875rem}.period-past{color:#999}.notes-cell{color:#666;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis}.btn-deactivate,.notes-cell{font-size:.875rem;white-space:nowrap}.btn-deactivate{background:#0000;border:2px solid #f44336;border-radius:6px;color:#f44336;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:all .2s}.btn-deactivate:hover:not(:disabled){background:#f44336;color:#fff}.btn-deactivate:disabled{cursor:not-allowed;opacity:.5}.action-disabled{color:#999}.rotation-guide{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.rotation-guide h3{color:#1a1a1a;margin:0 0 1rem}.rotation-guide ol{margin:0;padding-left:1.5rem}.rotation-guide li{color:#666;line-height:1.6;margin-bottom:.75rem}.rotation-guide li strong{color:#1a1a1a}@media (max-width:1024px){.secrets-table-container{overflow-x:auto}.secrets-table{min-width:900px}}@media (max-width:768px){.shared-secrets-list{padding:1rem}.page-header{align-items:stretch}.header-actions,.page-header{flex-direction:column}.secrets-table td,.secrets-table th{font-size:.875rem;padding:.75rem .5rem}.rotation-guide{padding:1rem}}.add-shared-secret{margin:0 auto;max-width:900px;padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{color:#1a1a1a;font-size:2rem;margin-bottom:.5rem}.page-subtitle{color:#666;font-size:1rem;margin:0}.security-warning{background:#fff3cd;border-left:4px solid #ff9800;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.warning-icon{font-size:2rem}.warning-content h3{color:#e65100;margin:0 0 .75rem}.warning-content ul{margin:0;padding-left:1.5rem}.warning-content li{color:#666;line-height:1.6;margin-bottom:.5rem}.warning-content li strong{color:#1a1a1a}.error-message{align-items:center;background:#ffebee;border-left:4px solid #f44336;border-radius:4px;color:#c62828;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-icon{font-size:1.25rem}.secret-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#1a1a1a;display:block;font-weight:600;margin-bottom:.5rem}.form-group label.required:after{color:#f44336;content:" *"}.form-group input[type=datetime-local],.form-group input[type=text],.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s;width:100%}.form-group input[type=datetime-local]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#4caf50;outline:none}.form-group input[type=datetime-local]:disabled,.form-group input[type=text]:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{min-height:80px;resize:vertical}.field-hint{color:#666;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}.secret-input-group{display:flex;gap:1rem}.secret-input{flex:1 1;font-family:Courier New,monospace;letter-spacing:.5px}.btn-generate{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.875rem 1.5rem;transition:all .2s;white-space:nowrap}.btn-generate:hover:not(:disabled){background:#1976d2}.btn-generate:disabled{background:#bbdefb;cursor:not-allowed}.secret-info{margin-top:.5rem}.secret-length{border-radius:4px;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.secret-length.valid{background:#e8f5e9;color:#2e7d32}.secret-length.invalid{background:#ffebee;color:#c62828}.workflow-reminder{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.workflow-reminder h3{color:#1565c0;margin:0 0 1rem}.workflow-reminder ol{margin:0;padding-left:1.5rem}.workflow-reminder li{color:#666;line-height:1.6;margin-bottom:.5rem}.form-actions{border-top:2px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background:#45a049}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#fff;border:2px solid #e0e0e0;color:#666}.btn-secondary:hover:not(:disabled){border-color:#999;color:#333}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.add-shared-secret{padding:1rem}.secret-form{padding:1.5rem}.secret-input-group{flex-direction:column}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}
/*# sourceMappingURL=main.34fdcadf.css.map*/