@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/fraunces-variable.woff2') format('woff2')}@font-face{font-family:'Work Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/worksans-variable.woff2') format('woff2')}:root{--green-deep:#33352F;--green-mid:#4A4C44;--mustard:#DFA23B;--mustard-dark:#B9822A;--paper:#F3ECDC;--paper-white:#FBF8F1;--terracotta:#C05A3A;--ink:#2A2620;--ink-soft:#5B5548;--line:#DCD2B8;--radius:14px;--shadow:0 6px 20px rgba(38,57,44,0.12);--input-bg:#fff;--alt-bg:#FAF5E8;--on-dark:#FBF8F1;--on-light:#2A2620;--btn-primary-bg:#33352F}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:'Work Sans',system-ui,sans-serif;line-height:1.5}h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;color:var(--green-deep);margin:0 0 0.4em;line-height:1.15}a{color:var(--green-mid);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit;font-size:1rem}:focus-visible{outline:3px solid var(--mustard);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:0.65em 1.4em;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;transition:transform 0.12s ease,box-shadow 0.12s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn svg{vertical-align:-3px;margin-right:0.3em}.btn-primary{background:var(--btn-primary-bg);color:var(--on-dark)}.btn-primary:hover{background:var(--green-mid)}.btn-accent{background:var(--mustard);color:var(--on-light)}.btn-accent:hover{background:var(--mustard-dark)}.btn-danger{background:var(--terracotta);color:#fff}.btn-outline{background:transparent;color:var(--green-deep);border:2px solid var(--green-deep);padding:calc(0.65em - 2px) calc(1.4em - 2px)}.btn-pdf-lang{display:inline-flex;align-items:center;gap:0.55em}.btn-pdf-lang-tag{display:inline-flex;align-items:center;gap:0.3em;background:var(--alt-bg);color:var(--ink-soft);font-size:0.76rem;font-weight:600;padding:0.15em 0.55em;border-radius:999px}.dark-theme .btn-pdf-lang-tag{background:rgba(255,255,255,0.1)}input[type="file"]{font-family:inherit;font-size:0.92rem;color:var(--ink)}input[type="file"]::file-selector-button,input[type="file"]::-webkit-file-upload-button{font-family:inherit;font-size:0.85rem;font-weight:600;background:transparent;color:var(--green-deep);border:2px solid var(--green-deep);border-radius:999px;padding:0.5em 1.2em;margin-right:0.9em;cursor:pointer;transition:background 0.12s ease,color 0.12s ease}input[type="file"]::file-selector-button:hover,input[type="file"]::-webkit-file-upload-button:hover{background:var(--green-deep);color:var(--on-dark)}.file-input-wrapper{display:flex;align-items:center;gap:0.8em;flex-wrap:wrap}.file-input-label{font-size:0.88rem;color:var(--ink-soft)}input[type="file"].file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-sm{padding:0.35em 0.9em;font-size:0.85rem}.btn-block{display:block;width:100%;text-align:center}.alert{padding:0.8em 1em;border-radius:10px;margin:0 0 1em;font-size:0.95rem}.alert-error{background:#F5DCD3;color:#7A2E17}.alert-success{background:#DCE9D8;color:#23431F}.alert-info{background:#E7E4D9;color:var(--green-deep)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4em;background:radial-gradient(circle at top left,#45473E 0%,var(--green-deep) 55%,#1D1D19 100%);padding:20px}.auth-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.4em 2em;max-width:380px;width:100%;text-align:center}.brand-mark{font-size:2.6rem;margin-bottom:0.1em}.auth-home-link{display:block;text-align:center;font-size:0.98rem;font-weight:700;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px;margin-bottom:0.8em}.auth-home-link:hover{color:var(--mustard-dark)}.dark-theme .auth-home-link{color:#C7C2B0}.dark-theme .auth-home-link:hover{color:var(--mustard)}.auth-lang-switch{display:flex;justify-content:flex-end;gap:0.4em;font-size:0.8rem;font-weight:700;margin-bottom:0.6em}.auth-lang-switch a{color:var(--ink-soft);padding:0.15em 0.5em;border-radius:5px}.auth-lang-switch a.active{color:var(--green-deep);background:var(--paper)}.auth-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.6em}.auth-top-row .auth-lang-switch{margin-bottom:0}.auth-legal-links{text-align:center;margin-top:1.2em;font-size:0.8rem}.auth-legal-links a{color:rgba(255,255,255,0.75)}.auth-legal-links a:hover{color:#fff}.brand{font-size:1.8rem}.auth-subtitle{color:var(--ink-soft);margin-bottom:1.4em;font-size:0.95rem}.auth-footnote{margin-top:1.2em;font-size:0.85rem;color:var(--ink-soft)}.auth-card form{text-align:left;display:flex;flex-direction:column;gap:0.9em}.auth-card label{font-size:0.85rem;font-weight:600;color:var(--green-deep);display:flex;flex-direction:column;gap:0.35em}input[type=text],input[type=password],input[type=email],input[type=search],input[type=number],input[type=date],textarea,select{border:1.5px solid var(--line);border-radius:8px;padding:0.6em 0.75em;background:var(--input-bg);color:var(--ink)}input:focus,textarea:focus,select:focus{border-color:var(--mustard-dark)}.field-invalid{border-color:var(--terracotta) !important;background:#FBF0EC}.dark-theme .field-invalid{background:#3A241F}.field-error-msg{color:var(--terracotta);font-size:0.8rem;margin-top:0.3em;display:block}.dark-theme .field-error-msg{color:#E08A76}textarea{resize:vertical;min-height:90px}.password-field{position:relative;display:flex}.password-field input{flex:1;padding-right:2.6em}.password-field-generate input{padding-right:4.6em}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0.3em 0.5em;line-height:1;border-radius:6px}.password-toggle:hover{background:var(--paper)}.password-generate{position:absolute;right:2.3em;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0.3em 0.5em;line-height:1;border-radius:6px}.password-generate:hover{background:var(--paper)}.topbar{background:var(--green-deep);color:var(--on-dark);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}.topbar-inner{max-width:2000px;margin:0 auto;padding:0.8em 1.2em;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:0.6em}.brand-link{color:var(--on-dark);font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;white-space:nowrap;flex-shrink:0}.brand-link:hover{text-decoration:none}.topbar-mobile-actions{display:flex;align-items:center;gap:0.3em}@media (max-width:420px){.brand-link{font-size:1.05rem}.topbar-inner{padding:0.7em 0.8em}.topbar-mobile-actions{gap:0}.nav-bell-fixed{font-size:1.1rem;padding:0.35em 0.35em}}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}.nav-toggle span{width:24px;height:2px;background:var(--on-dark);display:block}.nav-bell-fixed{display:none;position:relative;color:var(--on-dark);font-size:1.3rem;line-height:1;padding:0.4em 0.5em;border-radius:8px}.nav-bell-fixed:hover{background:rgba(255,255,255,0.12);text-decoration:none}.nav-bell-fixed .nav-badge{position:absolute;top:0;right:0}.nav-bell-inline{display:inline-flex;align-items:center;position:relative;font-size:1.15rem}.nav-bell-inline .nav-badge{position:relative;top:-6px;margin-left:-4px}.nav-controls-separator{color:rgba(255,255,255,0.35)}.main-nav{display:flex;align-items:center;gap:1.1em;flex-wrap:wrap}.main-nav a{color:var(--on-dark);font-weight:500;opacity:0.92}.main-nav a:hover{opacity:1;text-decoration:none;border-bottom:2px solid var(--mustard)}.main-nav-links,.main-nav-controls,.main-nav-account{display:flex;align-items:center;gap:0.9em;flex-wrap:wrap}.nav-user{font-size:0.85rem;opacity:0.8}.lang-switch{display:flex;gap:0.3em;font-size:0.8rem;font-weight:700}.lang-switch a{color:var(--on-dark);opacity:0.55;padding:0.15em 0.35em;border-radius:5px}.lang-switch a.active{opacity:1;background:rgba(255,255,255,0.15)}.lang-switch a:hover{opacity:1;text-decoration:none}.nav-logout{background:var(--mustard);color:var(--on-light) !important;padding:0.4em 1em;border-radius:999px;font-weight:600}.nav-logout:hover{background:var(--mustard-dark)}.nav-register{background:transparent;border:2px solid var(--on-dark);color:var(--on-dark) !important;padding:0.32em 0.9em;border-radius:999px;font-weight:600;opacity:1 !important}.nav-register:hover{background:rgba(255,255,255,0.12);text-decoration:none}@media (max-width:1650px){.nav-toggle{display:flex}.nav-bell-fixed{display:inline-flex}.nav-bell-inline,.nav-controls-separator{display:none}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green-deep);flex-direction:column;align-items:stretch;padding:1em 1.2em 1.4em;gap:0}.main-nav.open{display:flex}.main-nav-links,.main-nav-controls,.main-nav-account{width:100%;padding:0.9em 0;border-top:1px solid rgba(255,255,255,0.15)}.main-nav-links{flex-direction:column;align-items:flex-start;gap:0.7em;border-top:none;padding-top:0}.main-nav-controls{justify-content:space-between}.main-nav-account{gap:0.7em}}.page-container{max-width:2000px;margin:0 auto;padding:1.8em 1.2em 4em;min-height:calc(100vh - 300px)}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1em;margin-bottom:1.4em}.page-header p.subtitle{color:var(--ink-soft);margin:0.2em 0 0}.page-header-actions{display:flex;align-items:center;gap:0.8em;flex-wrap:wrap}.page-header-title-row{display:flex;align-items:center;gap:0.9em}.page-header-title-row h1{margin:0;line-height:1}.meal-plan-title-icon{display:inline-flex;color:var(--mustard-dark);vertical-align:-0.15em}.meal-plan-title-icon svg{width:0.82em;height:0.82em}.dark-theme .meal-plan-title-icon{color:var(--mustard)}.recipe-detail-header .page-header-title-row{margin-top:0.4em}.btn-back-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--paper-white);border:2px solid var(--green-deep);color:var(--green-deep)}.btn-back-icon:hover{background:var(--green-deep);color:var(--on-dark);text-decoration:none}.filter-bar{display:flex;flex-direction:column;gap:0.9em;background:var(--paper-white);border-radius:var(--radius);padding:1em;box-shadow:var(--shadow)}.filter-panel{margin-bottom:1.6em}#filterToggleBtn{display:inline-flex;align-items:center;gap:0.5em}.filter-toggle-badge{background:var(--mustard);color:var(--on-light);font-size:0.72rem;font-weight:700;padding:0.15em 0.6em;border-radius:999px}.filter-bar-row{display:flex;flex-wrap:wrap;gap:0.7em;align-items:flex-end}.filter-bar-row label{font-size:0.8rem;font-weight:600;color:var(--green-deep);display:flex;flex-direction:column;gap:0.3em}.filter-bar-row select,.filter-bar-row input{min-width:160px}.filter-cat-group{display:flex;flex-direction:column;gap:0.4em}.filter-cat-label{display:block;font-size:0.8rem;font-weight:600;color:var(--green-deep)}.dark-theme .filter-cat-label{color:#C7C2B0}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4em}.recipe-card{position:relative;background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.15s ease}.recipe-card:hover{transform:translateY(-3px)}.ad-card{border:1.5px dashed var(--mustard-dark)}.ad-card-badge{position:absolute;top:0.5em;left:0.5em;background:rgba(0,0,0,0.55);color:#fff;font-size:0.7rem;font-weight:700;padding:0.2em 0.55em;border-radius:999px;letter-spacing:0.02em}.recipe-card-media{height:160px;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--ink-soft);position:relative;overflow:hidden}.recipe-card-img{width:100%;height:100%;object-fit:contain;display:block}.recipe-card-media::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:10px;background-image:radial-gradient(circle,var(--paper-white) 5px,transparent 5.5px);background-size:16px 16px;background-position:0 -6px;background-repeat:repeat-x}.recipe-card-badge{position:absolute;top:10px;left:10px;background:var(--mustard);color:var(--on-light);font-size:0.72rem;font-weight:700;text-transform:uppercase;padding:0.25em 0.7em;border-radius:999px;letter-spacing:0.03em}.recipe-card-fav{position:absolute;top:8px;right:10px;color:var(--mustard-dark);font-size:1.3rem;text-shadow:0 1px 3px rgba(0,0,0,0.4)}.recipe-card-body{padding:1em 1.1em 1.2em;display:flex;flex-direction:column;gap:0.4em;flex:1}.recipe-card-body h3{font-size:1.15rem}.recipe-card-meta{font-size:0.8rem;color:var(--ink-soft);display:flex;gap:0.8em;flex-wrap:wrap}.recipe-card-desc{font-size:0.9rem;color:var(--ink-soft);flex:1}.recipe-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:0.4em;font-size:0.8rem;color:var(--ink-soft)}.empty-state{text-align:center;padding:3em 1em;color:var(--ink-soft);background:var(--paper-white);border-radius:var(--radius)}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4em}.article-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.15s ease}.article-card:hover{transform:translateY(-3px)}.article-card-media{position:relative;height:150px;background:var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--ink-soft)}.article-card-img{width:100%;height:100%;object-fit:contain;display:block}.article-card-body{padding:1em 1.1em 1.2em;display:flex;flex-direction:column;gap:0.4em;flex:1}.article-card-body h3{font-size:1.1rem}.article-card-excerpt{font-size:0.9rem;color:var(--ink-soft);flex:1}.article-card-footer{display:flex;justify-content:space-between;font-size:0.8rem;color:var(--ink-soft);margin-top:0.4em}.article-detail-meta{display:flex;align-items:center;gap:0.6em;color:var(--ink-soft);font-size:0.92rem;margin-bottom:1.2em}.article-detail-body{font-family:'Fraunces',Georgia,serif;font-size:1.12rem;line-height:1.85;color:var(--ink)}.article-detail-body h2{font-size:1.5rem;margin:1.2em 0 0.4em}.article-detail-body h3{font-size:1.25rem;margin:1.1em 0 0.4em}.article-detail-body p{margin:0 0 0.9em}.article-detail-body ul,.article-detail-body ol{margin:0 0 0.9em;padding-left:1.4em}.article-detail-body blockquote{position:relative;margin:1.4em 0;padding:0.7em 1.4em 0.7em 2.2em;border-left:4px solid var(--mustard);background:var(--alt-bg);font-style:italic;font-size:1.12em;border-radius:0 8px 8px 0}.article-detail-body blockquote::before{content:'“';position:absolute;left:0.35em;top:0.05em;font-family:'Fraunces',Georgia,serif;font-size:1.8em;font-style:normal;color:var(--mustard-dark);line-height:1}.article-detail-body a{color:var(--green-deep);text-decoration:underline}.article-detail-body img{max-width:100%;height:auto;border-radius:10px;margin:0.6em 0 1em;display:block}.dark-theme .article-detail-body [style*="color"]{color:var(--ink) !important}.public-browse-notice{background:var(--alt-bg);border-radius:10px;padding:0.9em 1.2em;margin:-0.8em 0 1.6em;font-size:0.88rem;color:var(--ink-soft)}.public-browse-notice a{font-weight:600;margin-left:0.3em}.recipe-detail{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8em;margin-bottom:1.6em}.recipe-detail-header{display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;align-items:flex-start;margin-bottom:0.6em}.recipe-actions-row{display:flex;flex-wrap:wrap;gap:0.6em;align-items:center}.badge{display:inline-block;background:var(--mustard);color:var(--on-light);font-size:0.72rem;font-weight:700;padding:0.25em 0.7em;border-radius:999px;text-transform:uppercase;margin-right:0.4em}.badge-outline{background:transparent;border:1.5px solid var(--green-mid);color:var(--green-mid)}.recipe-meta-row{display:flex;gap:1.2em;flex-wrap:wrap;color:var(--ink-soft);font-size:0.88rem;margin:0.6em 0 1.2em}.media-gallery{display:flex;gap:0.8em;flex-wrap:wrap;margin:1em 0 1.6em}.media-photo{width:150px;height:150px;object-fit:cover;border-radius:10px;cursor:zoom-in;box-shadow:var(--shadow)}.media-video{width:220px;border-radius:10px;box-shadow:var(--shadow)}.media-carousel{position:relative;width:100%;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);margin:1em 0 1.8em;background:#111}.media-carousel-track{display:flex;transition:transform 0.35s ease}.media-carousel-slide{flex:0 0 100%;width:100%;aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;background:#111}.media-carousel-slide img,.media-carousel-slide video{width:100%;height:100%;object-fit:contain;background:#111}.media-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.45);color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s ease}.media-carousel-arrow:hover{background:rgba(0,0,0,0.7)}.media-carousel-arrow--prev{left:0.7em}.media-carousel-arrow--next{right:0.7em}.media-carousel-dots{position:absolute;bottom:0.8em;left:50%;transform:translateX(-50%);display:flex;gap:0.5em;background:rgba(0,0,0,0.35);padding:0.4em 0.6em;border-radius:999px}.media-carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);border:none;padding:0;cursor:pointer}.media-carousel-dot--active{background:#fff}.media-carousel-counter{position:absolute;top:0.7em;right:0.8em;background:rgba(0,0,0,0.45);color:#fff;font-size:0.8rem;padding:0.25em 0.6em;border-radius:999px}@media (max-width:600px){.media-carousel-slide{aspect-ratio:4 / 3}.media-carousel-arrow{width:38px;height:38px;font-size:1.4rem}}@media (min-width:900px){.media-carousel{max-width:640px;margin-left:auto;margin-right:auto}}.jump-to-recipe{display:none;width:fit-content;margin:0.6em 0 1em;padding:0.6em 1.1em;background:var(--btn-primary-bg,var(--green-deep));color:var(--on-dark);border-radius:999px;font-weight:600;text-decoration:none}.jump-to-recipe:hover{text-decoration:none;opacity:0.9}@media (max-width:700px){.jump-to-recipe{display:inline-block}}.recipe-columns{display:grid;grid-template-columns:1fr 1.5fr;gap:2em}@media (max-width:700px){.recipe-columns{grid-template-columns:1fr}}.recipe-columns h4{border-bottom:2px solid var(--mustard);display:inline-block;padding-bottom:0.2em}.ingredient-list{list-style:none;padding:0;margin:0;counter-reset:ingredient-counter}.ingredient-list li{counter-increment:ingredient-counter;padding:0.5em 0 0.5em 2.3em;border-bottom:1px dashed var(--line);position:relative;min-height:1.6em}.ingredient-list li::before{content:counter(ingredient-counter);position:absolute;left:0;top:0.5em;width:1.6em;height:1.6em;flex-shrink:0;background:var(--mustard);color:var(--on-light);border-radius:50%;font-size:0.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.steps-list{list-style:none;padding:0;margin:0;counter-reset:step-counter;display:flex;flex-direction:column;gap:1.1em}.steps-list li{counter-increment:step-counter;padding-left:2.6em;position:relative}.steps-list li::before{content:counter(step-counter);position:absolute;left:0;top:0;width:1.9em;height:1.9em;flex-shrink:0;background:var(--green-deep);color:var(--on-dark);border-radius:50%;font-size:0.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.lightbox-overlay{position:fixed;inset:0;background:rgba(20,20,15,0.85);display:flex;align-items:center;justify-content:center;z-index:200;cursor:zoom-out;padding:2em}.lightbox-overlay img{max-height:90vh;max-width:90vw;border-radius:8px}.recipe-card-rating{font-size:0.85rem;color:var(--mustard-dark);display:flex;align-items:center;gap:0.4em}.recipe-card-rating span{color:var(--ink-soft)}.rating-block{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1em;background:var(--alt-bg);border-radius:10px;padding:1em 1.2em;margin-bottom:1.6em}.rating-summary{display:flex;flex-direction:column;gap:0.2em;font-size:0.9rem;color:var(--ink)}.stars-readonly{color:var(--mustard-dark);font-size:1.3rem;letter-spacing:2px}.rating-form,.star-rating-form{display:flex;align-items:center;gap:1em;flex-wrap:wrap}.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}.star-rating input{position:absolute;opacity:0;width:0;height:0}.star-rating label{font-size:1.8rem;line-height:1;color:var(--line);cursor:pointer;transition:color 0.1s ease}.star-rating input:checked ~ label,.star-rating label:hover,.star-rating label:hover ~ label{color:var(--mustard-dark)}.comments-section{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8em}.comment{display:flex;gap:0.8em;padding:1em 0;border-bottom:1px solid var(--line)}.comment:last-child{border-bottom:none}.comment-avatar,.avatar-circle{width:38px;height:38px;border-radius:50%;background:var(--green-deep);color:var(--on-dark);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden;font-size:1rem}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-circle--lg{width:88px;height:88px;font-size:2rem}.comment-body{flex:1}.comment-head{display:flex;gap:0.6em;align-items:baseline;flex-wrap:wrap}.comment-author{font-weight:700;color:var(--green-deep)}.comment-time{font-size:0.78rem;color:var(--ink-soft)}.comment-text{margin:0.3em 0 0.5em}.mention-link{font-weight:600;color:var(--green-deep)}.dark-theme .mention-link{color:#C7C2B0}.comment-media{display:flex;gap:0.6em;flex-wrap:wrap}.comment-media img{width:90px;height:90px;object-fit:cover;border-radius:8px;cursor:zoom-in}.comment-form{margin-top:1.4em;display:flex;flex-direction:column;gap:0.6em}.comment-form textarea{min-height:70px}.preview-row{display:flex;gap:0.5em;flex-wrap:wrap}.existing-media-grid{display:flex;gap:0.8em;flex-wrap:wrap;margin:0.6em 0 1em}.existing-media-item{position:relative;width:110px;cursor:pointer;display:flex;flex-direction:column;gap:0.3em;align-items:center}.existing-media-item img,.existing-media-item video{width:110px;height:110px;object-fit:cover;border-radius:8px;box-shadow:var(--shadow)}.existing-media-badge{position:absolute;top:6px;right:6px;background:rgba(0,0,0,0.55);color:#fff;border-radius:50%;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;font-size:0.75rem}.existing-media-remove{display:flex;align-items:center;gap:0.3em;font-size:0.78rem;color:var(--terracotta)}.existing-media-featured{display:flex;align-items:center;gap:0.3em;font-size:0.78rem;color:var(--mustard-dark);margin-top:0.2em}.existing-media-item:has(input[name="featured_media_id"]:checked){box-shadow:0 0 0 2px var(--mustard-dark);border-radius:8px}.existing-media-item:has(input[name="remove_media[]"]:checked) img,.existing-media-item:has(input[name="remove_media[]"]:checked) video{opacity:0.35}.preview-thumb{width:64px;height:64px;object-fit:cover;border-radius:6px}.form-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8em;max-width:760px;margin:0 auto}.form-card--wide{max-width:none;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1em}@media (max-width:600px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:0.35em;margin-bottom:1em}.field label{font-weight:600;font-size:0.88rem;color:var(--green-deep)}label:has(:required)::before{content:'* ';color:var(--terracotta);font-weight:700}.dark-theme label:has(:required)::before{color:#E08A76}.field-hint{font-size:0.78rem;color:var(--ink-soft)}.article-lang-block{border:1.5px solid var(--line);border-radius:10px;padding:1.2em;margin-bottom:1.4em}.article-lang-block--es{border-color:var(--mustard-dark);background:var(--alt-bg)}.article-lang-block h4{margin:0 0 0.8em;display:flex;align-items:baseline;gap:0.5em;flex-wrap:wrap}.article-lang-block h4 .field-hint{font-weight:normal}.checkbox-inline{display:flex;align-items:center;gap:0.6em;font-weight:600;color:var(--green-deep);cursor:pointer}.checkbox-inline input{width:auto;accent-color:var(--mustard-dark)}.multi-lang-blocks{margin-bottom:1em}.recipe-lang-flag{margin-right:0.2em}.recipe-lang-flag:last-child{margin-right:0}.rich-editor{background:var(--paper-white);border-radius:0 0 8px 8px;min-height:200px;font-family:inherit;font-size:1rem;color:var(--ink)}.ql-toolbar.ql-snow{border-radius:8px 8px 0 0;background:var(--paper);border-color:var(--line) !important}.ql-container.ql-snow{border-color:var(--line) !important;font-family:inherit}.ql-editor{min-height:200px}.lang-flag-icon{width:1.3em;height:0.867em;vertical-align:-0.1em;display:inline-block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,0.1)}.notification-list{display:flex;flex-direction:column}.notification-item{display:flex;align-items:center;gap:0.8em;padding:0.9em 0.6em;border-bottom:1px solid var(--line);color:var(--ink)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--alt-bg);text-decoration:none}.notification-item--unread{background:var(--alt-bg);font-weight:600}.notification-item-text{flex:1}.notification-item-time{font-size:0.78rem;color:var(--ink-soft);white-space:nowrap;font-weight:normal}.admin-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;image-rendering:auto}.form-actions{display:flex;gap:0.8em;margin-top:1em}.checkbox-group{display:flex;flex-wrap:wrap;gap:0.5em}.checkbox-chip{display:inline-flex;align-items:center;gap:0.4em;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:0.35em 0.85em;font-size:0.85rem;font-weight:500;cursor:pointer;user-select:none;transition:background 0.12s ease,border-color 0.12s ease}.checkbox-chip input{margin:0;accent-color:var(--mustard-dark)}.checkbox-chip.checked,.checkbox-chip:has(input:checked){background:var(--mustard);border-color:var(--mustard-dark);color:var(--on-light)}.tag-picker{display:flex;flex-direction:column;gap:0.7em}.tag-picker-select{max-width:320px}.tag-picker-chips{display:flex;flex-wrap:wrap;gap:0.5em;min-height:1px}.tag-chip{display:inline-flex;align-items:center;gap:0.45em;background:var(--mustard);color:var(--on-light);border-radius:999px;padding:0.3em 0.4em 0.3em 0.9em;font-size:0.85rem;font-weight:600}.tag-chip-remove{background:rgba(0,0,0,0.15);border:none;border-radius:50%;width:1.5em;height:1.5em;display:flex;align-items:center;justify-content:center;cursor:pointer;color:inherit;font-size:1rem;line-height:1;padding:0}.tag-chip-remove:hover{background:rgba(0,0,0,0.28)}.article-category-filter{display:flex;flex-wrap:wrap;gap:0.6em;margin-bottom:1.6em}.tag-chip-filter{display:inline-flex;align-items:center;background:transparent;color:var(--green-deep);border:1.5px solid var(--line);border-radius:999px;padding:0.4em 1em;font-size:0.88rem;font-weight:600}.tag-chip-filter:hover{border-color:var(--green-deep);text-decoration:none}.tag-chip-filter.active{background:var(--green-deep);color:var(--on-dark);border-color:var(--green-deep)}.dark-theme .tag-chip-filter{color:#C7C2B0;border-color:#5C5E54}.dark-theme .tag-chip-filter.active{background:#6E7066;color:var(--on-dark);border-color:#6E7066}.dynamic-list-items{display:flex;flex-direction:column;gap:0.5em;margin-bottom:0.7em}.dynamic-list-row{display:flex;align-items:center;gap:0.6em}.dynamic-list--steps .dynamic-list-row{align-items:flex-start}.dynamic-list--steps .dynamic-list-num{margin-top:0.5em}.dynamic-list--steps .dynamic-list-remove{margin-top:0.5em}.dynamic-list-row textarea{align-self:stretch}.dynamic-list-num{flex-shrink:0;width:1.8em;height:1.8em;border-radius:50%;background:var(--mustard);color:var(--on-light);font-size:0.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1}.dynamic-list--steps .dynamic-list-num{width:auto;min-width:3.6em;height:1.8em;padding:0 0.6em;border-radius:999px;background:var(--green-deep);color:var(--on-dark);white-space:nowrap}.dynamic-list-row input,.dynamic-list-row textarea{flex:1;min-width:0}.dynamic-list-remove{flex-shrink:0;background:none;border:1.5px solid var(--line);border-radius:50%;width:1.9em;height:1.9em;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--terracotta);font-size:1.1rem;line-height:1;padding:0}.dynamic-list-remove:hover{background:#F5DCD3}.dynamic-list-remove:disabled{opacity:0.3;cursor:not-allowed}.dynamic-list-remove:disabled:hover{background:none}.table-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4em;overflow-x:auto;margin-bottom:1.8em}table{width:100%;border-collapse:collapse;min-width:520px}th,td{text-align:left;padding:0.6em 0.7em;border-bottom:1px solid var(--line);font-size:0.92rem}th{color:var(--green-deep);font-family:'Fraunces',serif;font-weight:600}tr:hover td{background:var(--alt-bg)}.role-pill{padding:0.2em 0.7em;border-radius:999px;font-size:0.75rem;font-weight:700}.role-admin{background:var(--terracotta);color:#fff}.role-user{background:var(--green-mid);color:#fff}.status-off{opacity:0.5}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1em;margin-bottom:2em}.admin-tile{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4em;text-align:center}.admin-tile .count{font-family:'Fraunces',serif;font-size:2.2rem;color:var(--green-deep)}.admin-tile .label{color:var(--ink-soft);font-size:0.85rem}.admin-tile--live{border:2px solid var(--mustard)}.admin-tile--live .count{color:var(--mustard-dark)}.recipe-card--needs-attention{border:2px solid #C0533B;background:#FBEBE7}.bar-chart{display:flex;align-items:flex-end;gap:1em;height:140px;padding-top:1.4em}.bar-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-chart-bar{width:60%;min-width:24px;background:var(--mustard);border-radius:6px 6px 0 0;position:relative;display:flex;justify-content:center}.bar-chart-bar--alt{background:var(--green-mid)}.bar-chart-bar--alt2{background:#4A7A96}.bar-chart-bar span{position:absolute;top:-1.4em;font-size:0.78rem;color:var(--ink-soft);font-weight:600}.bar-chart-label{margin-top:0.5em;font-size:0.75rem;color:var(--ink-soft);text-transform:capitalize}.section-title{display:flex;justify-content:space-between;align-items:center;margin:2em 0 0.8em}.profile-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8em;margin-bottom:1em}.profile-form{display:flex;flex-direction:column;gap:0.2em}.profile-avatar-row{display:flex;align-items:center;gap:1.2em;margin-bottom:1em}.profile-divider{border:none;border-top:1px solid var(--line);margin:1.8em 0}.profile-header{display:flex;align-items:flex-start;gap:1.2em;flex-wrap:wrap}.profile-header-info{flex:1;min-width:200px;display:flex;flex-direction:column;align-items:flex-start;gap:0.5em}.profile-header-actions{display:flex;gap:0.6em;flex-wrap:wrap;align-items:center}.profile-bio{color:var(--ink-soft);margin:0;white-space:pre-line}.profile-social-links{display:flex;gap:0.5em;flex-wrap:wrap}.profile-stats{display:flex;gap:1.2em;font-size:0.9rem;color:var(--ink-soft);margin:0}.profile-stats strong{color:var(--ink)}.profile-stats--toggles{align-items:flex-start;flex-wrap:wrap}.follow-list-item{display:flex;align-items:center;gap:0.6em;padding:0.5em 0.6em;border-radius:8px;color:var(--ink);font-size:0.92rem}.follow-list-item:hover{background:var(--alt-bg);text-decoration:none}.follow-list-empty{color:var(--ink-soft);font-size:0.85rem;margin:0.3em}.follows-columns{display:grid;grid-template-columns:1fr 1fr;gap:2em;align-items:start}.follows-column .table-card,.follows-list{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:0.8em}.follows-list{display:flex;flex-direction:column;gap:0.2em;margin-bottom:1em}@media (max-width:760px){.follows-columns{grid-template-columns:1fr}}.profile-edit-toggle{margin-top:1.2em}.profile-edit-toggle summary{list-style:none;cursor:pointer;display:inline-flex}.profile-edit-toggle summary::-webkit-details-marker{display:none}.profile-section-toggle{margin-top:1.6em;margin-bottom:1em}.profile-section-toggle summary.section-title{cursor:pointer;list-style:none;margin:0;display:flex;align-items:center;justify-content:space-between;gap:0.8em;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:1.3rem;color:var(--green-deep)}.profile-section-toggle summary.section-title::-webkit-details-marker{display:none}.profile-section-toggle summary.section-title::after{content:'▾';display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--paper-white);border:2px solid var(--green-deep);color:var(--green-deep);font-size:1rem;line-height:1;transition:transform 0.15s ease,background 0.15s ease}.profile-section-toggle summary.section-title:hover::after{background:var(--green-deep);color:var(--on-dark)}.profile-section-toggle:not([open]) summary.section-title::after{transform:rotate(-90deg)}.profile-section-toggle .activity-feed,.profile-section-toggle .follow-suggestions{margin-top:0.8em}@media (max-width:600px){.profile-section-toggle summary.section-title{font-size:1.1rem;gap:0.5em}.profile-section-toggle summary.section-title::after{width:30px;height:30px;font-size:0.9rem}.activity-feed-item{flex-wrap:wrap}.activity-feed-time{width:100%;margin-left:calc(32px + 0.7em)}}.profile-edit-panel{margin-top:1.2em;padding-top:1.2em;border-top:1px solid var(--line)}.user-search-results{display:flex;flex-direction:column;gap:0.4em}.user-search-result{display:flex;align-items:center;gap:0.7em;padding:0.5em 0.6em;border-radius:8px;color:var(--ink)}.user-search-result:hover{background:var(--alt-bg);text-decoration:none}.user-search-result small{color:var(--ink-soft);font-weight:normal}.activity-feed{margin-top:1.4em}.activity-feed-list{display:flex;flex-direction:column;gap:0.3em}.activity-feed-item{display:flex;align-items:center;gap:0.7em;padding:0.6em 0.7em;border-radius:8px;color:var(--ink)}.activity-feed-item:hover{background:var(--alt-bg);text-decoration:none}.activity-feed-text{flex:1;font-size:0.9rem}.activity-feed-time{color:var(--ink-soft);font-size:0.78rem;white-space:nowrap}.follow-suggestions{margin-top:1.4em}.follow-suggestions-row{display:flex;gap:0.9em;flex-wrap:wrap}.follow-suggestion-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.4em;width:110px;padding:1em 0.6em;background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink)}.follow-suggestion-card:hover{transform:translateY(-2px);text-decoration:none}.follow-suggestion-name{font-weight:600;font-size:0.86rem;line-height:1.25}.follow-suggestion-card small{color:var(--ink-soft)}.nav-badge{background:var(--mustard);color:var(--on-light);font-size:0.72rem;font-weight:700;padding:0.1em 0.5em;border-radius:999px}.messages-layout{display:grid;grid-template-columns:300px 1fr;gap:1.2em;background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);min-height:60vh;overflow:hidden}.conversations-list{border-right:1px solid var(--line);overflow-y:auto;max-height:75vh}.conversation-item-wrap{display:flex;align-items:center;border-bottom:1px solid var(--line)}.conversation-item{display:flex;align-items:center;gap:0.7em;padding:0.8em 1em;color:var(--ink);flex:1;min-width:0}.conversation-item:hover{background:var(--alt-bg);text-decoration:none}.conversation-item--active{background:var(--alt-bg)}.conversation-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.conversation-item-preview{font-size:0.82rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item-badge{background:var(--mustard);color:var(--on-light);font-size:0.72rem;font-weight:700;padding:0.15em 0.55em;border-radius:999px;flex-shrink:0}.conversation-pin-btn-wrap{flex-shrink:0;padding-right:0.7em}.conversation-pin-btn{background:none;border:none;cursor:pointer;font-size:1.15rem;padding:0.3em;border-radius:6px;opacity:0.3;filter:grayscale(1)}.conversation-pin-btn:hover{opacity:0.8;background:var(--alt-bg)}.conversation-pin-btn--active{opacity:1;filter:none}.conversations-pinned-group{border-bottom:2px solid var(--mustard-dark);margin-bottom:0.3em}.conversations-group-title{display:block;padding:0.7em 1em 0.3em;font-size:0.72rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.03em}.conversation-thread{display:flex;flex-direction:column;padding:1em 1.4em}.conversation-thread-head{display:flex;align-items:center;gap:0.8em;padding-bottom:1em;border-bottom:1px solid var(--line);margin-bottom:1em;flex-wrap:wrap}.conversation-thread-user{flex:1;display:flex;align-items:center;gap:0.6em;color:var(--ink);min-width:0}.conversation-thread-actions{display:flex;gap:0.6em;flex-shrink:0}.conversation-thread-actions form{display:contents}.conversation-thread-messages{flex:1;display:flex;flex-direction:column;gap:0.8em;overflow-y:auto;max-height:50vh;padding-bottom:1em}.thread-msg{max-width:70%;background:var(--alt-bg);border-radius:12px;padding:0.6em 0.9em;align-self:flex-start}.thread-msg-sender{display:block;font-size:0.78rem;font-weight:700;color:var(--green-deep);margin-bottom:0.2em}.thread-msg p{margin:0;white-space:pre-line}.thread-msg-time{display:block;font-size:0.72rem;color:var(--ink-soft);margin-top:0.3em}.thread-msg--mine{align-self:flex-end;background:var(--mustard);color:var(--on-light)}.thread-msg--mine .thread-msg-time{color:rgba(0,0,0,0.55)}.group-members-row{display:flex;align-items:center;gap:0.5em;flex-wrap:wrap;padding-bottom:1em;margin-bottom:1em;border-bottom:1px solid var(--line)}.group-member-chip{display:inline-flex;align-items:center;gap:0.4em;padding:0.25em 0.7em 0.25em 0.25em;background:var(--alt-bg);border-radius:999px;color:var(--ink);font-size:0.85rem}.group-member-chip:hover{background:var(--line);text-decoration:none}.group-member-chip .avatar-circle{width:24px;height:24px;font-size:0.75rem}.thread-compose{display:flex;gap:0.6em;align-items:flex-end;padding-top:1em;border-top:1px solid var(--line)}.thread-compose textarea{flex:1;resize:vertical}.btn-send-message{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--btn-primary-bg);color:var(--on-dark);cursor:pointer;transition:transform 0.12s ease,background 0.12s ease,opacity 0.12s ease}.btn-send-message:hover{background:var(--green-mid);transform:translateY(-1px)}.btn-send-message:disabled{opacity:0.4;cursor:default;transform:none}.conversations-back{display:none}@media (max-width:760px){.messages-layout{grid-template-columns:1fr}.conversations-list--hide-mobile,.conversation-thread--hide-mobile{display:none}.conversations-back{display:inline-flex}.conversation-thread{padding:0.9em}.conversation-thread-head{gap:0.7em}.conversation-thread-user{min-width:0}.conversation-thread-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.conversation-thread-actions{flex-basis:100%;order:3;flex-wrap:wrap}.conversation-thread-actions .btn,.conversation-thread-actions form{flex:1;min-width:45%}.conversation-thread-actions .btn{width:100%;text-align:center}.thread-msg{max-width:85%}}.support-msg-list{display:flex;flex-direction:column;gap:1em}.support-msg-card{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2em 1.4em}.support-msg-card--unread{border-left:4px solid var(--mustard)}.support-msg-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:0.6em;margin-bottom:0.4em;font-size:0.92rem}.support-msg-date{color:var(--ink-soft);font-size:0.82rem;margin-left:0.6em}.support-msg-subject{font-weight:700;color:var(--green-deep);margin:0.2em 0 0.5em}.support-msg-subject--rgpd{color:var(--terracotta)}.support-msg-body{margin:0;white-space:pre-line}.pagination{display:flex;align-items:center;justify-content:center;gap:1.2em;margin:2em 0}.pagination-info{font-size:0.85rem;color:var(--ink-soft);font-weight:600}.pagination-disabled{opacity:0.35;cursor:default}.pagination-disabled:hover{text-decoration:none}.show-more-wrap{text-align:center;margin-top:1.6em}.cookie-notice-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.72);display:flex;align-items:center;justify-content:center;padding:1.2em}.cookie-notice{background:var(--paper-white);color:var(--ink);max-width:460px;width:100%;padding:1.8em;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.3);display:flex;flex-direction:column;align-items:center;gap:1.2em;text-align:center}.cookie-notice p{margin:0;font-size:0.92rem;line-height:1.5}.cookie-notice a{color:var(--green-deep);font-weight:600;text-decoration:underline}.cookie-notice button{background:var(--mustard);color:var(--on-light);border:none;padding:0.6em 2em;border-radius:999px;font-weight:600;cursor:pointer;flex-shrink:0}.cookie-notice button:hover{background:var(--mustard-dark)}.site-footer{background:var(--green-deep);color:var(--on-dark);margin-top:3em;padding:2em 1.2em}.site-footer-inner{max-width:2000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0.9em;text-align:center}.site-footer-tagline{font-family:'Fraunces',serif;font-size:1.1rem;margin:0;opacity:0.95}.site-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4em}.site-footer-links a{color:var(--on-dark);opacity:0.85;font-size:0.9rem}.site-footer-links a:hover{opacity:1;text-decoration:underline}.site-footer-copy{font-size:0.78rem;opacity:0.6;margin:0}.legal-page{max-width:820px;margin:0 auto;line-height:1.65}.legal-page h3{margin-top:1.6em}.legal-page ul{padding-left:1.4em}.legal-page code{background:var(--alt-bg);padding:0.1em 0.4em;border-radius:4px}.faq-section-title{margin:1.4em 0 0.4em}.faq-section-title:first-child{margin-top:0}.faq-list{display:flex;flex-direction:column;gap:0.3em;margin-bottom:0.6em}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-weight:600;color:var(--green-deep);padding:0.8em 0.2em;list-style:none;display:flex;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:'+';margin-right:0.7em;color:var(--mustard-dark);font-weight:700;width:1em}.faq-item[open] summary::before{content:'−'}.faq-item p{margin:0 0 0.9em;padding-left:1.7em;color:var(--ink-soft)}.dark-theme .faq-item summary{color:#C7C2B0}.theme-toggle{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;padding:0.3em 0.5em;border-radius:8px;color:var(--on-dark)}.theme-toggle:hover{background:rgba(255,255,255,0.12)}.dark-theme{--paper:#1C1B1A;--paper-white:#262524;--ink:#EDE8DA;--ink-soft:#A79F8C;--line:#3D3A36;--input-bg:#2C2A28;--alt-bg:#302E2B;--shadow:0 6px 24px rgba(0,0,0,0.5);--btn-primary-bg:#6E7066}.dark-theme .btn-primary:hover{background:#7F8175}.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark-theme .filter-bar-row label,.dark-theme .auth-card label,.dark-theme .field label,.dark-theme th,.dark-theme .comment-author,.dark-theme .admin-tile .count,.dark-theme .recipe-columns h4,.dark-theme .profile-section-toggle summary.section-title{color:#C7C2B0}.dark-theme a:not(.btn){color:#C7C2B0}.dark-theme .btn-outline{color:#C7C2B0;border-color:#5C5E54}.dark-theme .badge-outline{border-color:#5C5E54;color:#C7C2B0}.dark-theme .alert-info{background:#34332C;color:#D6D2C3}.dark-theme .recipe-card-media{background-color:var(--line)}.dark-theme .btn-back-icon{border-color:#C7C2B0;color:#C7C2B0}.dark-theme .btn-back-icon:hover{background:#C7C2B0;color:#1C1B1A}.dark-theme .profile-section-toggle summary.section-title::after{border-color:#C7C2B0;color:#C7C2B0}.dark-theme .profile-section-toggle summary.section-title:hover::after{background:#C7C2B0;color:#1C1B1A}.dark-theme input[type="file"]::file-selector-button,.dark-theme input[type="file"]::-webkit-file-upload-button{border-color:#C7C2B0;color:#C7C2B0}.dark-theme input[type="file"]::file-selector-button:hover,.dark-theme input[type="file"]::-webkit-file-upload-button:hover{background:#C7C2B0;color:#1C1B1A}.dark-theme .recipe-card--needs-attention{border-color:#E08A76;background:#3A241F}.dark-theme .bar-chart-bar--alt{background:#8C8E80}.dark-theme .bar-chart-bar--alt2{background:#7FA8C4}.dark-theme .password-toggle:hover{background:var(--alt-bg)}.dark-theme .password-generate:hover{background:var(--alt-bg)}.dark-theme .lightbox-overlay{background:rgba(0,0,0,0.9)}.dark-theme .dynamic-list-remove:hover{background:rgba(192,90,58,0.25)}.shopping-list-view-toggle{display:flex;gap:0.4em;margin-bottom:1em}.shopping-list-view-toggle a{padding:0.5em 1.1em;border-radius:999px;font-size:0.85rem;font-weight:600;color:var(--ink-soft);background:var(--alt-bg);text-decoration:none}.shopping-list-view-toggle a.is-active{background:var(--green-deep);color:var(--on-dark)}.shopping-keywords-form{display:flex;gap:0.8em;align-items:flex-end;flex-wrap:wrap}.shopping-keywords-form .field{flex:1;min-width:180px;margin-bottom:0}.shopping-keyword-missing{color:var(--ink-soft);opacity:0.5}.shopping-keywords-filters{display:flex;gap:0.8em;align-items:flex-end;flex-wrap:wrap;margin:1em 0}.shopping-keywords-filters .field{min-width:220px;margin-bottom:0}.shopping-keywords-filters .field:first-child{flex:1}.shopping-list-group{margin-bottom:1.6em}.shopping-list-group:last-child{margin-bottom:0}.shopping-list-group-title{font-size:1rem;margin-bottom:0.5em;color:var(--green-deep)}.shopping-list-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.2em}.shopping-list-item{display:flex;align-items:center;gap:0.7em;padding:0.5em 0.3em;border-radius:8px}.shopping-list-item:hover{background:var(--alt-bg)}.shopping-list-item.is-checked .shopping-list-name{text-decoration:line-through;color:var(--ink-soft)}.shopping-list-check{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;line-height:1}.shopping-list-name{flex:1}.shopping-list-remove{flex-shrink:0;background:none;border:1.5px solid var(--line);border-radius:50%;width:1.7em;height:1.7em;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--terracotta);font-size:1rem;line-height:1;padding:0}.shopping-list-remove:hover{background:#F5DCD3}.dark-theme .shopping-list-remove:hover{background:rgba(192,90,58,0.25)}.meal-plan-week-nav{display:flex;align-items:center;justify-content:center;gap:1.2em;margin:1em 0 1.4em;font-size:1.05rem}.meal-plan-week-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0;font-size:1.4rem;line-height:1;font-weight:700}.meal-plan-week-btn--prev{background:var(--paper-white);border:2px solid var(--green-deep);color:var(--green-deep)}.meal-plan-week-btn--prev:hover{background:var(--green-deep);color:var(--on-dark);text-decoration:none}.meal-plan-week-btn--next{background:var(--paper-white);border:2px solid var(--mustard-dark);color:var(--mustard-dark)}.meal-plan-week-btn--next:hover{background:var(--mustard-dark);color:var(--on-dark);text-decoration:none}.dark-theme .meal-plan-week-btn--prev{border-color:#C7C2B0;color:#C7C2B0}.dark-theme .meal-plan-week-btn--prev:hover{background:#C7C2B0;color:#1C1B1A}.dark-theme .meal-plan-week-btn--next{border-color:var(--mustard);color:var(--mustard)}.dark-theme .meal-plan-week-btn--next:hover{background:var(--mustard);color:#1C1B1A}.meal-plan-jump-to{display:flex;align-items:center;gap:0.6em;margin-bottom:1.4em;flex-wrap:wrap}.meal-plan-jump-to label{font-weight:600;font-size:0.9rem;color:var(--green-deep)}.meal-plan-jump-to input[type="date"]{width:auto;border-radius:999px;padding:0.6em 1.1em}.meal-plan-grid{margin-top:1.6em}input[type="date"]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect x='3.5' y='5' width='17' height='16' rx='2.5' stroke='%23B9822A' stroke-width='1.8'/%3E%3Cpath d='M3.5 9.5H20.5' stroke='%23B9822A' stroke-width='1.8'/%3E%3Cpath d='M8 3V6.5M16 3V6.5' stroke='%23B9822A' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='13.5' r='1.15' fill='%23B9822A'/%3E%3Ccircle cx='12' cy='13.5' r='1.15' fill='%23B9822A'/%3E%3Ccircle cx='16' cy='13.5' r='1.15' fill='%23B9822A'/%3E%3Ccircle cx='8' cy='17.2' r='1.15' fill='%23B9822A'/%3E%3Ccircle cx='12' cy='17.2' r='1.15' fill='%23B9822A'/%3E%3C/svg%3E");background-size:18px 18px;cursor:pointer}.meal-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1em}.meal-plan-day{background:var(--paper-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1em}.meal-plan-day-title{font-size:0.98rem;margin-bottom:0.7em;display:flex;justify-content:space-between;align-items:baseline}.meal-plan-day-date{font-size:0.78rem;color:var(--ink-soft);font-weight:400}.meal-plan-day-empty-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mustard-dark);margin-left:0.4em;vertical-align:middle}.dark-theme .meal-plan-day-empty-dot{background:var(--mustard)}.meal-plan-copy-day{margin-bottom:0.9em}.meal-plan-copy-day-select{width:100%;font-size:0.78rem;padding:0.35em 0.5em;background:var(--alt-bg);color:var(--ink-soft);border-style:dashed}.meal-plan-slot{margin-bottom:0.8em}.meal-plan-slot:last-child{margin-bottom:0}.meal-plan-slot-label{display:block;font-size:0.78rem;color:var(--ink-soft);font-weight:600;margin-bottom:0.3em}.meal-plan-assigned{display:flex;align-items:center;justify-content:space-between;gap:0.4em}.meal-plan-assigned a{font-size:0.9rem;font-weight:600}.meal-plan-picker select{width:100%;font-size:0.85rem;padding:0.4em 0.5em}.recipe-search-picker{position:relative}.recipe-search-input{width:100%;font-size:0.85rem;padding:0.4em 0.6em}.recipe-search-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 2px);background:var(--paper-white);border:1.5px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-height:220px;overflow-y:auto;flex-direction:column;padding:0.3em}.recipe-search-results:not([hidden]){display:flex}.recipe-search-item{display:block;width:100%;text-align:left;background:none;border:none;padding:0.5em 0.6em;font-size:0.85rem;border-radius:6px;cursor:pointer;color:var(--ink)}.recipe-search-item:hover{background:var(--alt-bg)}.recipe-search-empty{padding:0.5em 0.6em;font-size:0.82rem;color:var(--ink-soft)}.meal-plan-templates{margin-top:0.6em}.meal-plan-templates-list{display:flex;flex-wrap:wrap;gap:0.5em}.meal-plan-template-chip{display:inline-flex;align-items:center;gap:0.1em;background:var(--alt-bg);border-radius:999px;padding:0.15em}.meal-plan-save-template{display:flex;gap:0.6em;margin-top:1em;flex-wrap:wrap}.meal-plan-save-template input[type="text"]{flex:1;min-width:180px}