@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";*{box-sizing:border-box;margin:0;padding:0}dialog:not([open]){display:none}:root{--clr-primary: #186a22;--clr-primary-container: #358438;--clr-primary-fixed: #a3f69c;--clr-primary-fixed-dim: #88d982;--clr-on-primary: #ffffff;--clr-on-primary-fixed: #002204;--clr-secondary: #b02e00;--clr-secondary-container: #fe5825;--clr-on-secondary: #ffffff;--clr-tertiary: #8c4c00;--clr-tertiary-fixed: #ffdcc2;--clr-on-tertiary-fixed-variant: #6d3a00;--clr-surface: #f9f9fb;--clr-surface-low: #f3f3f5;--clr-surface-container: #eeeef0;--clr-surface-high: #e8e8ea;--clr-surface-highest: #e2e2e4;--clr-surface-lowest: #ffffff;--clr-surface-variant: #e2e2e4;--clr-on-surface: #1a1c1d;--clr-on-surface-variant: #3f4a3d;--clr-outline: #6f7a6b;--clr-outline-variant: #bfcab9;--clr-error: #ba1a1a;--clr-primary-dark: #005312;--clr-primary-bg: #f3f3f5;--clr-border: #bfcab9;--clr-border-input: #bfcab9;--clr-text: #1a1c1d;--clr-text-secondary: #3f4a3d;--clr-text-muted: #6f7a6b;--shadow-ambient: 0px 12px 32px rgba(26, 28, 29, .06)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:inline-block;line-height:1;vertical-align:middle}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--clr-surface);color:var(--clr-on-surface);min-width:350px;min-height:100dvh}input[type=text]:focus,input[type=password]:focus,input[type=date]:focus,input[type=email]:focus,select:focus{outline:none;border-color:var(--clr-primary);box-shadow:0 0 0 2px #186a2233}.btn-primary{padding:10px 24px;border:0;border-radius:9999px;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;box-shadow:0 4px 16px #186a2233;transition:opacity .2s,box-shadow .2s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.92;box-shadow:0 6px 20px #186a224d}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.45;cursor:default}.navbar{position:fixed;top:0;left:0;right:0;z-index:200;background:#f9f9fbd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-ambient);border-bottom:1px solid rgba(191,202,185,.3)}.navbar-inner{display:flex;align-items:center;gap:2rem;height:64px;padding:0 2rem;max-width:1280px;margin:0 auto}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:800;color:var(--clr-primary);white-space:nowrap;flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;transition:opacity .15s}.navbar-brand:hover{opacity:.75}.navbar-brand-icon{font-size:1.4rem;color:var(--clr-primary)}.navbar-links{display:flex;align-items:center;gap:.25rem;flex:1}.navbar-link{padding:6px 14px;border:none;background:none;border-radius:9999px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--clr-on-surface-variant);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.navbar-link:hover{background:var(--clr-surface-container);color:var(--clr-on-surface)}.navbar-link--active{background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed);font-weight:600}.navbar-link--active:hover{background:var(--clr-primary-fixed-dim);color:var(--clr-on-primary-fixed)}.navbar-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.navbar-username{font-size:.85rem;font-weight:600;color:var(--clr-on-surface-variant);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-logout{border:none;background:none;cursor:pointer;padding:6px;border-radius:9999px;color:var(--clr-on-surface-variant);display:flex;align-items:center;transition:background .15s}.navbar-logout:hover{background:var(--clr-surface-container);color:var(--clr-secondary)}.bottom-nav{display:none}@media (max-width: 700px){.navbar-links,.navbar-right{display:none}.navbar-inner{justify-content:space-between}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(191,202,185,.3);box-shadow:0 -8px 24px #0000000d;border-radius:1.5rem 1.5rem 0 0;padding:.5rem 0 max(.75rem,env(safe-area-inset-bottom));justify-content:space-around;align-items:center}.bottom-nav .navbar-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:12px;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.bottom-nav .navbar-link .material-symbols-outlined{font-size:1.4rem}.bottom-nav .navbar-link--active{background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed)}}position: relative; width: 240px; min-height: 100vh; box-shadow: 2px 0 8px rgba(0,0,0,.08); display: flex; flex-direction: row; flex-shrink: 0; transition: width .25s ease; background: #fff; overflow: visible; } .sidebar--collapsed{width:0;box-shadow:none}.sidebar-content{width:240px;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;transition:transform .25s ease,opacity .2s ease}.sidebar--collapsed .sidebar-content{transform:translate(-240px);opacity:0;pointer-events:none}.sidebar-toggle{position:absolute;top:12px;right:-20px;z-index:100;width:20px;height:36px;background:#fff;border:none;border-radius:0 6px 6px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#8b0000;padding:0;line-height:1;transition:background .15s}.sidebar-toggle:hover{background:#f9f0f0}.sidebar-overlay{display:none}.sidebar-group{width:100%;padding:12px 16px;text-align:left;background:none;border:none;border-bottom:1px solid #e0e0e0;cursor:pointer;font-size:14px;font-weight:600;color:#8b0000;display:flex;justify-content:space-between;align-items:center;white-space:nowrap}.sidebar-group:hover,.sidebar-group.active{background:#f9f0f0}.sidebar-children{display:flex;flex-direction:column}.sidebar-item{width:100%;padding:10px 24px;text-align:left;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:14px;color:#333;white-space:nowrap}.sidebar-item:hover{background:#f9f0f0;color:#8b0000}.sidebar-item.active{background:#f9f0f0;color:#8b0000;font-weight:600}.chevron{font-size:10px}.sidebar-footer{margin-top:auto;padding:12px 16px;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:6px}.sidebar-user{font-size:15px;color:#555;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{background:none;border:1px solid #ccc;border-radius:4px;padding:5px 10px;font-size:12px;color:#666;cursor:pointer;text-align:left}.sidebar-logout:hover{border-color:#8b0000;color:#8b0000}@media (max-width: 700px){.sidebar{position:fixed;top:0;left:0;height:100dvh;z-index:200;width:240px;box-shadow:4px 0 16px #00000026}.sidebar--collapsed{width:0;box-shadow:none}.sidebar-content{height:100dvh;min-height:unset;overflow-y:auto}.sidebar-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.sidebar--collapsed .sidebar-toggle{right:-22px}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:199}}.page{padding:2rem 2rem 3rem;max-width:1200px;margin:0 auto}.page h2{font-family:Plus Jakarta Sans,sans-serif;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;color:var(--clr-on-surface);margin-bottom:.5rem}.page h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:700;color:var(--clr-on-surface);margin-bottom:.75rem;margin-top:1.5rem}.page-subtitle{padding-top:.5rem;color:var(--clr-on-surface-variant);font-size:.95rem;margin-bottom:2rem}@media (max-width: 700px){.page{padding:1rem 1rem 2.5rem}.page h2{font-size:1.75rem}.admin-sections,.ingredient-rows,.detail-edit-rows{grid-template-columns:1fr!important}.add-ingredient-row{flex-wrap:wrap}.add-ingredient-row select{flex:1;min-width:0}.admin-row{flex-wrap:wrap}.admin-login{flex:0 0 100%;margin-bottom:4px}.admin-select{flex:1;min-width:0}.checkbox-item{font-size:13px;padding:5px 8px}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header h2{margin-bottom:0}.page-header-btn{margin-bottom:2rem}.hint{color:var(--clr-on-surface-variant);font-size:.875rem;margin-bottom:1rem}.add-form{display:flex;flex-direction:column;gap:8px;margin-bottom:1.5rem}.add-form input[type=text],.add-form input[type=date]{padding:10px 14px;border:none;background:var(--clr-surface-low);border-radius:12px;font-size:14px;width:100%;color:var(--clr-on-surface);transition:box-shadow .2s}.add-form input[type=text]:focus,.add-form input[type=date]:focus{outline:none;box-shadow:0 0 0 2px #186a2240}.add-form label{font-size:13px;font-weight:600;color:var(--clr-on-surface-variant);margin-top:4px}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row>input,.form-row>.form-field{flex:1;min-width:180px}.form-field{display:flex;flex-direction:column;gap:4px}.form-row>button{flex-shrink:0}.add-form button,.page-header button{padding:10px 22px;border:none;border-radius:9999px;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;box-shadow:0 4px 14px #186a2233;transition:opacity .2s,box-shadow .2s,transform .1s;white-space:nowrap}.add-form button:hover,.page-header button:hover{opacity:.9;box-shadow:0 6px 20px #186a224d}.add-form button:active,.page-header button:active{transform:scale(.97)}.card{background:var(--clr-surface-lowest);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-ambient);max-width:1200px}.list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.list-item{background:var(--clr-surface-lowest);border-radius:1.25rem;box-shadow:var(--shadow-ambient);font-size:14px;transition:box-shadow .2s,transform .15s;border:1px solid transparent}.list-item:hover{box-shadow:0 16px 40px #1a1c1d1a;transform:translateY(-1px)}.meal-item{display:flex;justify-content:space-between;align-items:stretch;padding:0;overflow:hidden}.meal-clickable{cursor:pointer;flex:1;padding:1.25rem 1rem 1.25rem 1.25rem}.meal-item:hover{border-color:#186a2226;transform:translateY(-1px)}.meal-item:hover strong{color:var(--clr-primary)}.meal-item strong{font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:700;color:var(--clr-on-surface);display:block;margin-bottom:.25rem;transition:color .15s}.meal-date{font-size:.75rem;color:var(--clr-on-surface-variant);margin-bottom:.5rem;display:block}.tag-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{padding:3px 10px;background:var(--clr-surface-container);border-radius:9999px;font-size:12px;color:var(--clr-on-surface-variant);font-weight:500}.tag-highlight{background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed);font-weight:600}.tag-extra{background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed);font-weight:700}.meal-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.cook-counter{font-size:11px;color:var(--clr-primary);background:var(--clr-primary-fixed);padding:2px 8px 2px 6px;border-radius:9999px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;font-weight:600}.cook-counter-icon{width:14px;height:14px;flex-shrink:0}.btn-cook{padding:0 1rem;border:none;border-radius:0 1.25rem 1.25rem 0;background:linear-gradient(160deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);cursor:pointer;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:60px;transition:opacity .15s}.btn-cook:hover{opacity:.85}.btn-cook svg{width:26px;height:26px;fill:#fff;opacity:.9}.picker-card{display:flex;flex-direction:column;padding:0;overflow:hidden;cursor:pointer;position:relative}.picker-card-body{flex:1;padding:1.5rem 1.5rem 1rem}.picker-card-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.35rem;font-weight:800;color:var(--clr-on-surface);display:block;margin-bottom:.65rem;line-height:1.25;transition:color .15s}.picker-card:hover .picker-card-title{color:var(--clr-primary)}.picker-card-meta{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--clr-on-surface-variant);margin-bottom:.75rem}.picker-card-meta .material-symbols-outlined{font-size:1rem}.picker-card-preptime{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;color:var(--clr-on-surface-variant);pointer-events:none}.picker-card-preptime .material-symbols-outlined{font-size:.9rem}.picker-card-ingredients{font-size:.85rem;color:var(--clr-on-surface-variant);line-height:1.55;margin:0}.picker-card-ingredients strong{color:var(--clr-on-surface);font-weight:600}.btn-cook-full{width:calc(100% - 2rem);margin:0 1rem 1rem;padding:.75rem;border:none;border-radius:9999px;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn-cook-full:hover{opacity:.88;transform:translateY(-1px)}.btn-delete{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--clr-outline);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.btn-delete:hover{background:#ba1a1a14;color:var(--clr-error)}.list-item--add{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;background:transparent;border:2px dashed var(--clr-outline);border-radius:1.25rem;box-shadow:none;color:var(--clr-on-surface-variant);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.list-item--add:hover{border-color:var(--clr-primary);color:var(--clr-primary);background:#186a220a;transform:translateY(-1px)}.list-item--add-icon{width:28px;height:28px;border-radius:50%;border:2px dashed currentColor;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;flex-shrink:0;transition:border-color .2s}.list-empty{color:var(--clr-on-surface-variant);font-size:14px;padding:12px;grid-column:1 / -1}.btn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--clr-surface-high);border:none;border-radius:9999px;cursor:pointer;font-size:13px;font-weight:600;color:var(--clr-on-surface-variant);transition:background .15s,color .15s}.btn-back:hover{background:var(--clr-surface-highest);color:var(--clr-on-surface)}.detail-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:1.5rem}.btn-edit{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:none;border-radius:9999px;background:var(--clr-surface-high);color:var(--clr-on-surface);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-edit:hover{background:var(--clr-surface-highest)}.btn-edit--save{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);box-shadow:0 4px 14px #186a2233}.btn-edit--save:hover:not(:disabled){opacity:.9}.btn-edit:disabled{opacity:.45;cursor:default}.meal-name-input{font-family:Plus Jakarta Sans,sans-serif;font-size:1.75rem;font-weight:800;border:none;background:transparent;color:var(--clr-on-surface);width:100%;max-width:560px;margin-bottom:.75rem;padding:4px 0;border-bottom:2px solid var(--clr-primary-fixed);outline:none;transition:border-color .2s}.meal-name-input:focus{border-bottom-color:var(--clr-primary)}.servings-input{width:72px;padding:4px 10px;border:none;background:var(--clr-surface-low);border-radius:8px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);text-align:center;transition:box-shadow .15s}.servings-input:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.detail-edit-rows{grid-template-columns:1fr 1fr;margin-bottom:0}.detail-edit-rows .form-footer{grid-column:1 / -1}.ingredient-row-name{flex:1;min-width:110px;padding:9px 12px;border:none;border-radius:10px;font-size:14px;background:var(--clr-surface-low);color:var(--clr-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-large{padding:5px 14px;font-size:13px;background:var(--clr-surface-container);border-radius:9999px;color:var(--clr-on-surface)}.tag-removable{display:inline-flex;align-items:center;gap:6px}.tag-remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:var(--clr-outline);padding:0}.tag-remove:hover{color:var(--clr-error)}.add-ingredient-row{display:flex;align-items:center;gap:8px;margin-top:4px}.add-ingredient-row select{padding:8px 12px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);min-width:160px;max-width:275px;transition:box-shadow .15s}.add-ingredient-row select:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.add-ingredient-row button{padding:8px 18px;border:none;border-radius:9999px;background:var(--clr-primary);color:var(--clr-on-primary);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;transition:opacity .15s}.add-ingredient-row button:hover:not(:disabled){opacity:.88}.add-ingredient-row button:disabled{opacity:.4;cursor:default}.ingredient-unit{margin-left:6px;font-size:12px;color:var(--clr-on-surface-variant)}.ingredient-rows{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px}.form-footer{display:flex;justify-content:flex-start;align-items:center;margin-top:4px}.ingredient-row{display:flex;align-items:center;gap:8px}.ingredient-row select{flex:1;min-width:140px;padding:8px 10px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);transition:box-shadow .15s}.ingredient-row select:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.ingredient-row input[type=number]{width:90px;padding:8px 10px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);text-align:center;transition:box-shadow .15s}.ingredient-row input[type=number]:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.ingredient-row .btn-delete{position:static;flex-shrink:0;color:var(--clr-outline)}.btn-add-row{align-self:flex-start;background:none;border:1.5px dashed var(--clr-outline-variant);border-radius:9999px;padding:6px 16px;font-size:13px;font-weight:500;color:var(--clr-on-surface-variant);cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s}.btn-add-row:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.ingredient-item{cursor:pointer;position:relative;padding:1rem 3rem 1rem 1.25rem}.ingredient-item:hover{border-color:#186a2226}.ingredient-item span{font-weight:600;color:var(--clr-on-surface)}.edit-dialog{border:none;border-radius:1.25rem;padding:1.75rem;min-width:340px;max-width:480px;width:100%;box-shadow:0 16px 48px #00000026;margin-left:auto;margin-right:auto;margin-top:2%;background:var(--clr-surface-lowest)}.edit-dialog::backdrop{background:#1a1c1d66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.edit-dialog h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1.125rem;font-weight:700;color:var(--clr-on-surface);margin:0 0 1.25rem}.meal-dialog{min-width:min(740px,94vw);max-width:min(860px,96vw);max-height:90vh;padding:0;display:flex;flex-direction:column}.meal-dialog-header{padding:1.5rem 1.75rem 1rem;border-bottom:1px solid var(--clr-surface-highest);display:flex;flex-direction:column;gap:10px}.meal-dialog-header .form-field{display:flex;flex-direction:row;align-items:center;gap:10px}.meal-dialog-header .form-field label{font-size:13px;font-weight:600;color:var(--clr-on-surface-variant);white-space:nowrap}.meal-dialog-header .form-field input[type=date]{width:160px;padding:7px 12px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;color:var(--clr-on-surface);cursor:pointer;font-family:inherit;transition:box-shadow .15s}.meal-dialog-header .form-field input[type=date]:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.meal-dialog-body{padding:1.25rem 1.75rem;overflow-y:auto;flex:1}.meal-dialog-body h3{font-size:11px;font-weight:700;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-on-surface-variant);margin:0 0 .75rem}.meal-dialog .edit-dialog-footer{padding:1rem 1.75rem;border-top:1px solid var(--clr-surface-highest);margin-top:0}@media (max-width: 700px){.meal-dialog{min-width:unset;width:96vw;max-width:96vw;height:85dvh;max-height:85dvh;margin:auto}}.edit-dialog-fields{display:flex;flex-direction:row;gap:8px;margin-bottom:1.25rem}.edit-dialog-fields input{padding:10px 14px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;width:100%;color:var(--clr-on-surface);font-family:inherit;transition:box-shadow .15s}.edit-dialog-fields input:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.edit-dialog-fields input:first-child{flex:2}.edit-dialog-fields input:last-child{flex:1}.edit-dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.btn-secondary{padding:10px 22px;border:none;border-radius:9999px;background:var(--clr-surface-high);color:var(--clr-on-surface-variant);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.btn-secondary:hover{background:var(--clr-surface-highest);color:var(--clr-on-surface)}.shopping-items,.shopping-edit-items{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.shopping-item-row{display:flex;align-items:center;gap:8px}.shopping-item-row select{flex:1;padding:9px 12px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);transition:box-shadow .15s}.shopping-item-row select:focus{outline:none;box-shadow:0 0 0 2px #186a2233}.shopping-servings-field{display:flex;align-items:center;gap:5px;flex-shrink:0}.shopping-servings-field label{font-size:13px;color:var(--clr-on-surface-variant);white-space:nowrap}.sl-card-top{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.sl-price{font-size:13px;font-weight:700;color:var(--clr-primary)}.sl-price-detail{color:var(--clr-primary);font-weight:700}.sl-card-actions{display:flex;flex-direction:column;align-items:center;justify-content:space-between;align-self:stretch;gap:4px;flex-shrink:0;padding:.5rem}.sl-price-btn{margin-top:auto}.btn-icon{background:none;border:none;cursor:pointer;padding:4px;color:var(--clr-outline);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .15s,background .15s}button.btn-icon.sl-price-btn{padding:4px}.btn-icon:hover{color:var(--clr-primary);background:var(--clr-primary-fixed)}.price-dialog{width:min(340px,92vw);padding:1.75rem;border-radius:1.25rem;border:none;background:var(--clr-surface-lowest);box-shadow:0 16px 48px #00000026}.shopping-meals-list{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-direction:column;gap:6px;max-width:560px}.shopping-meal-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--clr-surface-low);border-radius:12px}.shopping-meal-name{font-weight:600;color:var(--clr-on-surface);font-size:14px}.shopping-meal-servings{font-size:13px;color:var(--clr-primary);font-weight:600}.shopping-ingredient-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;max-width:560px;background:var(--clr-surface-lowest);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-ambient)}.shopping-ingredient-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:14px;border-bottom:1px solid var(--clr-surface-container)}.shopping-ingredient-row:last-child{border-bottom:none}.shopping-ingredient-name{color:var(--clr-on-surface);font-weight:500}.shopping-ingredient-amount{color:var(--clr-primary);font-weight:700;font-size:.95rem;background:var(--clr-primary-fixed);padding:2px 10px;border-radius:9999px}.admin-sections{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.admin-section-header h3{margin:0;color:var(--clr-on-surface-variant);font-size:11px;font-family:Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.admin-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;align-items:center;gap:8px;background:var(--clr-surface-lowest);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-ambient)}.admin-input{flex:1;padding:7px 10px;border:none;background:var(--clr-surface-low);border-radius:8px;font-size:14px;font-family:inherit;color:var(--clr-on-surface)}.admin-login{flex:1;font-size:14px;font-weight:600;color:var(--clr-on-surface)}.admin-role{font-size:11px;padding:3px 10px;border-radius:9999px;background:var(--clr-surface-container);color:var(--clr-on-surface-variant);font-weight:700;white-space:nowrap}.admin-role--admin{background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed)}.admin-select{padding:6px 10px;border:none;background:var(--clr-surface-low);border-radius:8px;font-size:14px;font-family:inherit;min-width:130px;color:var(--clr-on-surface)}.btn-save{padding:7px 16px;border:none;border-radius:9999px;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;white-space:nowrap;transition:opacity .15s}.btn-save:hover{opacity:.88}.btn-save:disabled{opacity:.4;cursor:default}.picker-filter{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.picker-search-wrap{display:flex;align-items:center;gap:10px;background:var(--clr-surface-lowest);border-radius:9999px;padding:.65rem 1.25rem;box-shadow:var(--shadow-ambient);max-width:440px}.picker-search-icon{color:var(--clr-on-surface-variant);font-size:1.25rem;flex-shrink:0}.picker-search-input{border:none;background:transparent;outline:none;font-size:.95rem;color:var(--clr-on-surface);width:100%;font-family:inherit}.picker-search-input::placeholder{color:var(--clr-on-surface-variant)}.picker-search-clear{background:none;border:none;padding:0;cursor:pointer;color:var(--clr-on-surface-variant);display:flex;align-items:center;flex-shrink:0;transition:color .15s}.picker-search-clear:hover{color:var(--clr-on-surface)}.picker-search-clear .material-symbols-outlined{font-size:1.1rem}.picker-divider{height:1px;background:var(--clr-outline-variant);max-width:440px;opacity:.5}.checkbox-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.checkbox-item{--cb-size: 1.1rem;position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px;border:1.5px solid var(--clr-outline-variant);border-radius:9999px;cursor:pointer;font-size:13px;font-weight:500;color:var(--clr-on-surface-variant);background:var(--clr-surface-lowest);-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,color .15s}.checkbox-item:hover{border-color:var(--clr-primary);color:var(--clr-on-surface)}.checkbox-item input[type=checkbox]{width:var(--cb-size);height:var(--cb-size);accent-color:var(--clr-primary);cursor:pointer}.checkbox-item:has(input:checked){background:var(--clr-primary-fixed);color:var(--clr-on-primary-fixed);border-color:transparent;font-weight:600}.create-form-body{margin-bottom:2rem}.create-form-body .form-field{display:flex;flex-direction:column;gap:4px}.create-form-body .form-field label{font-size:13px;font-weight:600;color:var(--clr-on-surface-variant)}.create-form-body .form-field input[type=date]{padding:8px 12px;border:none;background:var(--clr-surface-low);border-radius:10px;font-size:14px;font-family:inherit}.rte-wrapper{border:none;border-radius:14px;overflow:hidden;background:var(--clr-surface-low);transition:box-shadow .2s}.rte-wrapper:focus-within{box-shadow:0 0 0 2px #186a2240}.rte-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--clr-surface-highest);background:var(--clr-surface-container);flex-wrap:wrap}.rte-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;font-size:13px;color:var(--clr-on-surface-variant);transition:background .15s,color .15s}.rte-btn:hover{background:var(--clr-primary-fixed);color:var(--clr-primary)}.rte-btn.active{background:var(--clr-primary-fixed);color:var(--clr-primary);border-color:transparent}.rte-divider{width:1px;height:20px;background:var(--clr-outline-variant);margin:0 4px}.rte-content{min-height:160px;padding:12px 16px;font-size:14px;line-height:1.7;color:var(--clr-on-surface);outline:none}.rte-content .tiptap{outline:none;min-height:140px}.rte-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--clr-outline);pointer-events:none;float:left;height:0}.rte-content h3,.rich-text-view h3{font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:700;color:var(--clr-primary);margin:10px 0 4px}.rte-content ul,.rte-content ol,.rich-text-view ul,.rich-text-view ol{padding-left:1.4em;margin:4px 0}.rte-content li,.rich-text-view li{margin-bottom:2px}.rte-content p,.rich-text-view p{margin:0 0 4px}.rich-text-view{font-size:14px;line-height:1.7;color:var(--clr-on-surface);padding:2px 0}.rich-text-view:empty:before{content:"Žádný recept.";color:#aaa}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--clr-surface);padding:1.5rem}.auth-card{background:var(--clr-surface-lowest);border-radius:1.5rem;padding:2.5rem 2rem;width:100%;max-width:400px;box-shadow:var(--shadow-ambient)}.auth-card h2{font-family:Plus Jakarta Sans,sans-serif;color:var(--clr-on-surface);margin-bottom:.5rem;font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.auth-card .auth-subtitle{color:var(--clr-on-surface-variant);font-size:.9rem;margin-bottom:1.75rem}.auth-brand{display:flex;align-items:center;gap:.5rem;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;color:var(--clr-primary);margin-bottom:2.5rem}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form input{padding:12px 16px;border:none;background:var(--clr-surface-low);border-radius:12px;font-size:14px;font-family:inherit;color:var(--clr-on-surface);transition:box-shadow .15s}.auth-form input:focus{outline:none;box-shadow:0 0 0 2px #186a2240}.auth-form button[type=submit]{padding:12px;background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-container));color:var(--clr-on-primary);border:none;border-radius:9999px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;margin-top:6px;box-shadow:0 4px 14px #186a2233;transition:opacity .2s,box-shadow .2s}.auth-form button[type=submit]:hover:not(:disabled){opacity:.9;box-shadow:0 6px 20px #186a224d}.auth-form button[type=submit]:disabled{opacity:.45;cursor:default}.auth-error{color:var(--clr-error);font-size:13px;padding:8px 12px;background:#ba1a1a0f;border-radius:8px}.auth-success{color:var(--clr-primary);font-size:14px;font-weight:600;margin-bottom:1rem}.auth-switch{margin-top:1.5rem;font-size:13px;color:var(--clr-on-surface-variant);text-align:center}.auth-link{background:none;border:none;color:var(--clr-primary);cursor:pointer;font-size:13px;font-weight:600;text-decoration:none;padding:0;transition:opacity .15s}.auth-link:hover{opacity:.75;text-decoration:underline}.auth-card-center{text-align:center}.auth-countdown{font-size:13px;color:var(--clr-on-surface-variant);margin:.5rem 0 1.25rem}.auth-countdown strong{color:#8b0000;font-size:15px}.auth-btn-primary{display:block;width:100%;padding:10px;background:#8b0000;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .15s}.auth-btn-primary:hover{background:#6b0000}.layout{display:flex;flex-direction:column;min-height:100vh}.content{flex:1;background:var(--clr-surface);overflow-y:auto;min-width:0;padding-top:64px}@media (max-width: 700px){.content{padding-bottom:80px}}
