@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@700&display=swap";:root{--primary: #059669;--primary-dark: #047857;--primary-light: #10b981;--accent: #ea580c;--neutral: #64748b;--neutral-light: #f1f5f9;--neutral-dark: #334155;--brand-gradient-start: #EE7B4C;--brand-gradient-end: #F25B64;--auth-gradient-start: #FDE4D6;--auth-gradient-mid: #FCE1E3;--auth-gradient-end: #FDE4D6;--surface: #fafaf9;--surface-foreground: #1c1917;--card-border: #e2e8f0;--input-border: #e2e8f0;--input-focus-ring: rgba(5, 150, 105, .2);--danger: #dc2626;--danger-dark: #b91c1c}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--surface);color:var(--surface-foreground)}.heading-1{font-size:2.25rem;font-weight:700;letter-spacing:-.025em;color:#0f172a;line-height:1.2}.heading-2{font-size:1.875rem;font-weight:700;letter-spacing:-.025em;color:#0f172a;line-height:1.3}.heading-3{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;color:#1e293b;line-height:1.4}.metadata{font-size:.875rem;color:var(--neutral);font-weight:500}.barcode-scanner-shell{position:relative;overflow:hidden}.barcode-scanner-viewport video{width:100%!important;height:auto!important;max-height:70vh;-o-object-fit:cover;object-fit:cover;display:block}.barcode-scanner-viewport img{display:none}.btn-primary{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;letter-spacing:-.025em;background-color:var(--primary);color:#fff;transition:all .2s;box-shadow:0 1px 2px #0000000d;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;vertical-align:middle;text-decoration:none}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a}.btn-primary:focus{outline:none;box-shadow:0 0 0 2px #05966980,0 1px 2px #0000000d}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;vertical-align:middle;text-decoration:none;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;letter-spacing:-.025em;background-color:#fff;color:var(--neutral-dark);border:1px solid var(--card-border);transition:all .2s;box-shadow:0 1px 2px #0000000d;cursor:pointer}.btn-secondary:hover{background-color:#f8fafc;box-shadow:0 4px 6px -1px #0000001a}.btn-secondary:focus{outline:none;box-shadow:0 0 0 2px #94a3b880,0 1px 2px #0000000d}.btn-danger{padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;letter-spacing:-.025em;background-color:var(--danger);color:#fff;transition:all .2s;box-shadow:0 1px 2px #0000000d;border:none;cursor:pointer;display:inline-block}.btn-danger:hover{background-color:var(--danger-dark);box-shadow:0 4px 6px -1px #0000001a}.btn-danger:focus{outline:none;box-shadow:0 0 0 2px #dc262680,0 1px 2px #0000000d}.btn-primary.btn-sm,.btn-secondary.btn-sm,.btn-danger.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-link{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;text-decoration:none;display:inline-block;cursor:pointer;border:1px solid transparent;transition:all .2s}.btn-link-primary{background-color:#ecfdf5;color:var(--primary);border-color:#d1fae5}.btn-link-primary:hover{background-color:#d1fae5;color:var(--primary-dark);border-color:#a7f3d0}.btn-link-secondary{background-color:#f8fafc;color:#475569;border-color:var(--card-border)}.btn-link-secondary:hover{background-color:var(--neutral-light);color:var(--neutral-dark);border-color:#cbd5e1}.btn-link-danger{background-color:#fef2f2;color:var(--danger);border-color:#fee2e2}.btn-link-danger:hover{background-color:#fee2e2;color:var(--danger-dark);border-color:#fecaca}.input-field{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid var(--input-border);background-color:#fff;color:#0f172a;transition:all .2s;box-shadow:0 1px 2px #0000000d;min-height:44px;font-size:1rem}.input-field::-moz-placeholder{color:#94a3b8}.input-field::placeholder{color:#94a3b8}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--input-focus-ring),0 4px 6px -1px #0000001a}.members-role-select{min-width:13rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:1rem;padding-right:2.25rem}.card{background-color:#fff;border-radius:1rem;box-shadow:0 1px 2px #0000000d;border:1px solid var(--card-border);padding:1.5rem;transition:all .2s}.card:hover{box-shadow:0 4px 6px -1px #0000001a}.glass{background-color:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);box-shadow:0 10px 15px -3px #0000001a}.nav-link{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;letter-spacing:-.025em;color:var(--neutral-dark);transition:all .2s;text-decoration:none;display:inline-block}.nav-link:hover{color:var(--primary);background-color:#f8fafc}.nav-link.active{color:var(--primary);background-color:#d1fae5}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:-.025em}.badge-primary{background-color:#d1fae5;color:var(--primary-dark)}.badge-secondary{background-color:var(--neutral-light);color:var(--neutral-dark)}.tastify-logo-text{font-family:Quicksand,sans-serif;font-weight:700;background:linear-gradient(315deg,var(--brand-gradient-start) 0%,var(--brand-gradient-end) 100%);-webkit-background-clip:text;background-clip:text;color:var(--brand-gradient-start);display:inline-block}.tastify-logo-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.tastify-logo-icon-small{height:24px;width:24px}.tastify-logo-icon-medium{height:32px;width:32px}.tastify-logo-icon-large{height:40px;width:40px}.tastify-logo-icon-xlarge{height:60px;width:60px}.tastify-logo-icon-2xlarge{height:160px;width:160px}.tastify-logo-vertical{display:flex;flex-direction:column;align-items:center;gap:.5rem}.tastify-logo-horizontal{display:flex;align-items:center;gap:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:var(--neutral-light)}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.tastify-action-menu-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;min-width:2.25rem;height:2.25rem;width:2.25rem;border-radius:.5rem;color:#64748b;background-color:#ffffffe6;box-shadow:0 1px 2px #0000000d;border:1px solid rgb(226 232 240 / .9);transition:color .15s,background-color .15s}.tastify-action-menu-trigger:hover{color:#334155;background-color:#fff}.tastify-action-menu{z-index:50;border-radius:.5rem;background-color:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e2e8f0}.tastify-action-menu--fixed{position:fixed}.tastify-action-menu-item{display:block;width:100%;padding:.5rem 1rem;font-size:.875rem;text-align:left;color:#334155;transition:background-color .15s}.tastify-action-menu-item:hover{background-color:#f8fafc}.tastify-action-menu-item-danger{color:#dc2626}.tastify-action-menu-item-danger:hover{background-color:#fef2f2}.auth-gradient-bg{background:linear-gradient(315deg,var(--auth-gradient-start) 0%,var(--auth-gradient-mid) 50%,var(--auth-gradient-end) 100%);min-height:100vh}.auth-card{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;padding:2rem;margin-bottom:1.5rem}.auth-card-title{font-size:1.5rem;line-height:2rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;text-align:center}.auth-label{display:block;color:#374151;font-weight:500;margin-bottom:.5rem}.auth-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;background-color:#fff;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}.auth-input::-moz-placeholder{color:#9ca3af}.auth-input::placeholder{color:#9ca3af}.auth-input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px #a855f7}.auth-checkbox{width:1rem;height:1rem;margin-top:.125rem;margin-right:.5rem;border-radius:.25rem;border-color:#d1d5db;color:#9333ea}.auth-checkbox:focus{outline:none;box-shadow:0 0 0 2px #c084fc}.auth-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;border:none;border-radius:.5rem;background:linear-gradient(to right,#9333ea,#4f46e5);color:#fff;font-weight:600;box-shadow:0 10px 15px -3px #0000001a;transition:background .2s ease,opacity .2s ease;cursor:pointer}.auth-btn:hover:not(:disabled){background:linear-gradient(to right,#7e22ce,#4338ca)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-link-box{background-color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;text-align:center;margin-bottom:1.5rem}.auth-link{font-weight:600;color:#0f172a;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link-accent{color:#9333ea;font-weight:600;text-decoration:none}.auth-link-accent:hover{text-decoration:underline}.auth-error{margin-top:.5rem;font-size:.875rem;color:#dc2626}.auth-info-box{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem}.password-strength{height:4px;border-radius:2px;transition:all .3s;width:0}.password-strength.weak{background-color:#ef4444;width:33%}.password-strength.medium{background-color:#f59e0b;width:66%}.password-strength.strong{background-color:#10b981;width:100%}.admin-page{max-width:80rem;margin-left:auto;margin-right:auto}.admin-form-page{max-width:42rem;margin-left:auto;margin-right:auto}.admin-table th{padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:-.025em}.admin-table th.text-right,.admin-table td.text-right{text-align:right}.admin-table th.text-center,.admin-table td.text-center{text-align:center}.admin-table td{padding:1rem 1.5rem}.admin-table thead tr{border-bottom:1px solid #e2e8f0}.admin-table tbody tr{border-bottom:1px solid #f1f5f9}.admin-table tbody tr:hover{background-color:#f8fafc}.admin-activity-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:#f8fafc;border-radius:.5rem}.admin-filter-field{width:100%;max-width:10rem}.admin-filter-field-wide{width:100%;max-width:9.375rem}.admin-filter-field-status{min-width:11.5rem}.admin-table-sort{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#334155;text-transform:uppercase;letter-spacing:-.025em;transition:color .15s}.admin-table-sort:hover{color:#047857}.admin-form-label{display:block;color:#334155;font-weight:600;margin-bottom:.5rem;letter-spacing:-.025em}.admin-action-menu-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.375rem;border-radius:.375rem;color:#64748b;transition:color .15s,background-color .15s}.admin-action-menu-trigger:hover{color:#334155;background-color:#f1f5f9}.admin-action-menu{z-index:50;border-radius:.5rem;background-color:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e2e8f0}.admin-action-menu--fixed{position:fixed}.admin-action-menu-item{display:block;width:100%;padding:.5rem 1rem;font-size:.875rem;text-align:left;color:#334155;transition:background-color .15s}.admin-action-menu-item:hover{background-color:#f8fafc}.admin-action-menu-item-danger{color:#dc2626}.admin-action-menu-item-danger:hover{background-color:#fef2f2}.share-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:#0f172aeb;cursor:zoom-out;padding:1rem}.share-lightbox__img{max-width:min(100%,56rem);max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000080}@media(prefers-reduced-motion:no-preference){.share-lightbox{animation:share-lightbox-fade .2s ease-out}}@keyframes share-lightbox-fade{0%{opacity:0}to{opacity:1}}.share-recipe [data-servings-decrement]:focus-visible,.share-recipe [data-servings-increment]:focus-visible,.share-recipe [data-share-copy]:focus-visible,.share-recipe [data-share-native]:focus-visible,.share-recipe [data-share-image-lightbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media print{body{background:#fff!important}.share-recipe-print-hide,.share-recipe header.mb-4,.share-recipe [data-share-actions],.share-recipe [data-recipe-servings-adjuster],.share-recipe [data-share-image-lightbox]{display:none!important}.share-recipe .card{box-shadow:none!important;border:1px solid #e2e8f0!important;-moz-column-break-inside:avoid;break-inside:avoid}.share-recipe .share-recipe__columns{display:block!important}.share-recipe .lg\:sticky{position:static!important}.share-recipe .heading-1,.share-recipe .heading-3,.share-recipe p,.share-recipe li{color:#0f172a!important}.share-recipe .rounded-full.bg-emerald-600{background:#0f172a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--cook-scale: 1;--cook-base-font: 16px;--cook-fab-height: 4.5rem;--cook-nav-height: 3rem}html[data-cook-theme]{font-size:calc(var(--cook-base-font) * var(--cook-scale, 1))}html[data-cook-theme=dark]{--cook-bg: #0f172a;--cook-bg-elevated: #1e293b;--cook-bg-muted: #334155;--cook-border: rgb(51 65 85 / .8);--cook-text: #f8fafc;--cook-text-muted: #94a3b8;--cook-text-subtle: #64748b;--cook-accent: #10b981;--cook-accent-text: #6ee7b7;--cook-header-bg: rgb(15 23 42 / .95);--cook-fab-bg: rgb(30 41 59 / .92);--cook-fab-border: rgb(51 65 85 / .6)}html[data-cook-theme=light]{--cook-bg: #fafaf9;--cook-bg-elevated: #ffffff;--cook-bg-muted: #f5f5f4;--cook-border: #e7e5e4;--cook-text: #0f172a;--cook-text-muted: #475569;--cook-text-subtle: #64748b;--cook-accent: #059669;--cook-accent-text: #047857;--cook-header-bg: rgb(250 250 249 / .95);--cook-fab-bg: rgb(255 255 255 / .92);--cook-fab-border: #e7e5e4}html[data-cook-theme] body{background-color:var(--cook-bg);color:var(--cook-text)}.cook-mode-root{background-color:var(--cook-bg);color:var(--cook-text);min-height:100vh;padding-bottom:calc(var(--cook-fab-height) + env(safe-area-inset-bottom,0px) + 1rem)}.cook-mode-root.cook-mode-root--focus-nav{padding-bottom:calc(var(--cook-fab-height) + var(--cook-nav-height) + env(safe-area-inset-bottom,0px) + 1rem)}.cook-mode-header{position:sticky;top:0;z-index:30;background-color:var(--cook-header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--cook-border)}.cook-mode-progress{height:3px;background-color:var(--cook-bg-muted)}.cook-mode-progress__bar{height:100%;background-color:var(--cook-accent);transition:width .2s ease}.cook-mode-section{border-bottom:1px solid var(--cook-border)}.cook-mode-section__title{color:var(--cook-accent-text)}.cook-mode-ingredient-row{border-bottom:1px solid var(--cook-border)}.cook-mode-step-card{transition:opacity .2s ease,color .2s ease}.cook-mode-step-card--done{opacity:.5}.cook-mode-step-card--done p{color:var(--cook-text-muted)}.cook-mode-step-card--done .cook-mode-step-badge{background-color:var(--cook-text-subtle)}.cook-mode-step-badge{background-color:var(--cook-accent);color:#fff;transition:background-color .2s ease}.cook-mode-focus-step{min-height:8rem}.cook-mode-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);pointer-events:none;font-size:var(--cook-base-font)}.cook-mode-toolbar__inner{pointer-events:auto;margin:0 auto;max-width:28rem;padding:8px 12px 12px}.cook-mode-toolbar__panel{background-color:var(--cook-fab-bg);border:1px solid var(--cook-fab-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;box-shadow:0 8px 32px #0000002e}.cook-mode-toolbar__btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;color:var(--cook-text-muted);transition:background-color .15s,color .15s}.cook-mode-toolbar__btn:hover:not(:disabled){background-color:var(--cook-bg-muted);color:var(--cook-text)}.cook-mode-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.cook-mode-toolbar__btn--active{background-color:var(--cook-accent);color:#fff}.cook-mode-toolbar__btn--active:hover:not(:disabled){background-color:var(--cook-accent);color:#fff}.cook-mode-toolbar svg{width:20px!important;height:20px!important}.cook-mode-toolbar__btn--done{background-color:var(--cook-accent);color:#fff;padding-left:14px;padding-right:14px;font-size:14px;font-weight:600;gap:6px}.cook-mode-nav-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.375rem .5rem .5rem;border-top:1px solid var(--cook-border)}.cook-mode-nav-row__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:10px;font-size:14px;font-weight:600;color:var(--cook-text);background-color:var(--cook-bg-muted);transition:background-color .15s}.cook-mode-nav-row__btn:hover:not(:disabled){filter:brightness(1.08)}.cook-mode-nav-row__btn:disabled{opacity:.35;cursor:not-allowed}.cook-mode-modal-backdrop{background-color:#000000bf}.cook-mode-modal{background-color:var(--cook-bg-elevated);border:1px solid var(--cook-border);color:var(--cook-text)}.cook-mode-modal label{background-color:var(--cook-bg-muted)}.cook-mode-serving-adjuster{border-color:var(--cook-border)!important;background-color:var(--cook-bg-elevated)!important}.cook-mode-serving-adjuster button{color:var(--cook-text-muted)!important}.cook-mode-serving-adjuster button:hover:not(:disabled){background-color:var(--cook-bg-muted)!important}.cook-mode-serving-adjuster span{color:var(--cook-text)!important}
