:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular:normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular:normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold:normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light:normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid:normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid:normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid:normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin:normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular:normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular:normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular:normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular:normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold:normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold:normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold:normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714286em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);inset-block-start:.25em;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;height:1em;width:var(--fa-width,1.25em);display:inline-block;position:relative}.fa-layers .svg-inline--fa{transform-origin:50%;margin:auto;position:absolute;inset:0}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.0833333em}.fa-sm{vertical-align:.0535715em;font-size:.875em;line-height:.0714286em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.0416667em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute;inset-inline-start:calc(-1 * var(--fa-li-width,2em))}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.0625em);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition:none!important;animation:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1), var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9), var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05), var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse,#fff)}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-inverse{color:var(--fa-inverse,#fff)}.svg-inline--fa.fa-stack-1x{--fa-width:1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width:2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}:root{color:#2c241f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f0e8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#aa693a38,#0000 32rem),linear-gradient(135deg,#f7efe5 0%,#efe2d2 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #ffffffb3;border-radius:28px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 24px 80px #432d182e}.auth-logo{color:#fff;background:#7d3f22;border-radius:22px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.25rem;font-size:2rem;display:flex}.auth-card h1{letter-spacing:-.04em;margin:0;font-size:2rem}.auth-subtitle{color:#7a6a5d;margin:.5rem 0 2rem}.auth-form{flex-direction:column;gap:1.1rem;display:flex}.auth-form label{flex-direction:column;gap:.45rem;font-weight:700;display:flex}.auth-form input{color:#2c241f;background:#fffaf5;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.9rem 1rem;transition:border-color .18s,box-shadow .18s}.auth-form input:focus{border-color:#9e5631;box-shadow:0 0 0 4px #9e563129}.auth-error{color:#9d2419;background:#ffe6e2;border-radius:14px;margin:0;padding:.8rem 1rem;font-weight:700}.auth-form button,.logout-button{color:#fff;background:#7d3f22;border:0;border-radius:16px;justify-content:center;align-items:center;gap:.65rem;padding:.95rem 1.1rem;font-weight:800;transition:transform .16s,opacity .16s;display:inline-flex}.auth-form button:hover,.logout-button:hover{transform:translateY(-1px)}.auth-form button:disabled{opacity:.65;cursor:wait;transform:none}.dashboard-page{min-height:100vh;padding:1.5rem}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffbd;border:1px solid #ffffffbf;border-radius:24px;justify-content:space-between;align-items:center;gap:1rem;max-width:1180px;margin:0 auto 2rem;padding:1rem;display:flex;box-shadow:0 18px 60px #432d181f}.brand{align-items:center;gap:.9rem;display:flex}.brand>svg{color:#7d3f22;font-size:2rem}.brand div{flex-direction:column;display:flex}.brand strong{font-size:1.05rem}.brand span{color:#7a6a5d;font-size:.9rem}.logout-button{background:#2c241f;padding:.8rem 1rem}.dashboard-hero{color:#fff;background:linear-gradient(135deg,#7d3f22f0,#432d18f0);border-radius:32px;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:1180px;margin:0 auto;padding:2rem;display:flex;box-shadow:0 24px 80px #432d1833}.eyebrow{text-transform:uppercase;letter-spacing:.16em;opacity:.78;margin:0 0 .5rem;font-size:.75rem;font-weight:900}.dashboard-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,4rem)}.dashboard-hero p{color:#ffffffc7;max-width:620px;margin:.75rem 0 0}.user-card{background:#ffffff1f;border:1px solid #ffffff38;border-radius:24px;align-items:center;gap:1rem;min-width:220px;padding:1rem;display:flex}.user-card>svg{font-size:2rem}.user-card div{flex-direction:column;display:flex}.user-card span{color:#ffffffb8}.user-card strong{font-size:1.3rem}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1180px;margin:1.5rem auto 0;display:grid}.module-card{background:#ffffffc7;border:1px solid #ffffffbf;border-radius:26px;padding:1.5rem;box-shadow:0 16px 50px #432d181a}.module-card-link{min-height:175px;color:inherit;flex-direction:column;justify-content:space-between;gap:1.25rem;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex;position:relative;overflow:hidden}.module-card-link:after{content:"";background:#7d3f2214;border-radius:999px;width:8rem;height:8rem;transition:transform .18s,opacity .18s;position:absolute;bottom:-3rem;right:-3rem}.module-card-link:hover{background:#fffaf5eb;border-color:#7d3f2259;transform:translateY(-3px);box-shadow:0 22px 65px #432d1829}.module-card-link:hover:after{opacity:.9;transform:scale(1.15)}.module-card-link:focus-visible{border-color:#7d3f22;outline:0;box-shadow:0 0 0 4px #7d3f2229,0 22px 65px #432d1829}.module-card-head{z-index:1;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;display:grid;position:relative}.module-card-icon{color:#fff;background:#7d3f22;border-radius:17px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.35rem;display:inline-flex;box-shadow:0 12px 28px #7d3f2238}.module-card h2{letter-spacing:-.03em;margin:0;font-size:1.25rem}.module-card p{color:#7a6a5d;z-index:1;margin:0;line-height:1.45;position:relative}.module-card-arrow{color:#7d3f22;background:#eadccb;border-radius:14px;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .18s,background .18s;display:inline-flex}.module-card-link:hover .module-card-arrow{color:#fff;background:#7d3f22;transform:translate(3px)}@media (width<=760px){.topbar,.dashboard-hero{flex-direction:column;align-items:stretch}.logout-button{width:100%}.dashboard-grid{grid-template-columns:1fr}.auth-card{padding:1.5rem}}.settings-page{min-height:100vh;padding:1.5rem}.settings-header{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:30px;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1180px;margin:0 auto 1.5rem;padding:2rem;display:flex;box-shadow:0 18px 60px #432d181f}.settings-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.settings-header p:not(.eyebrow){color:#7a6a5d;margin:.5rem 0 0}.back-link{color:#7d3f22;font-weight:900;text-decoration:none}.settings-shell{grid-template-columns:260px 1fr;gap:1rem;max-width:1180px;margin:0 auto;display:grid}.settings-tabs{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;flex-direction:column;align-self:start;gap:.5rem;padding:1rem;display:flex;box-shadow:0 18px 60px #432d181a}.settings-tabs button{color:#2c241f;text-align:left;background:0 0;border:0;border-radius:18px;align-items:center;gap:.8rem;width:100%;padding:.9rem 1rem;font-weight:900;display:flex}.settings-tabs button.active{color:#fff;background:#7d3f22}.settings-panel{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;padding:1.25rem;box-shadow:0 18px 60px #432d181a}.panel-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0;font-size:1.6rem}.panel-head p{color:#7a6a5d;margin:.35rem 0 0}.primary-button,.secondary-button,.icon-button{border:0;border-radius:15px;justify-content:center;align-items:center;gap:.55rem;font-weight:900;display:inline-flex}.primary-button{color:#fff;background:#7d3f22;padding:.85rem 1rem}.secondary-button{color:#2c241f;background:#eadccb;padding:.85rem 1rem}.icon-button{color:#2c241f;background:#eadccb;width:42px;height:42px}.icon-button.danger{color:#9d2419;background:#ffe6e2}.icon-button:disabled{opacity:.45;cursor:not-allowed}.settings-error{color:#9d2419;background:#ffe6e2;border-radius:15px;margin:0 0 1rem;padding:.85rem 1rem;font-weight:900}.settings-loading,.empty-state{text-align:center;color:#7a6a5d;padding:2rem;font-weight:800}.settings-list{flex-direction:column;gap:.75rem;display:flex}.settings-item{background:#fffaf5;border:1px solid #eadccb;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.settings-item.inactive{opacity:.55}.settings-item-main{flex-direction:column;gap:.25rem;display:flex}.settings-item-main strong{font-size:1.05rem}.settings-item-main span{color:#7a6a5d}.settings-item-actions{align-items:center;gap:.5rem;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2c241f80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.settings-modal{background:#fffaf5;border-radius:26px;width:100%;max-width:560px;max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto;box-shadow:0 24px 90px #00000040}.settings-modal header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.settings-modal h2{margin:0}.settings-form{flex-direction:column;gap:1rem;display:flex}.settings-form label{flex-direction:column;gap:.4rem;font-weight:900;display:flex}.settings-form input,.settings-form select,.settings-form textarea{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.85rem 1rem}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{border-color:#9e5631;box-shadow:0 0 0 4px #9e563129}.checkbox-label{align-items:center;flex-direction:row!important}.checkbox-label input{width:auto}.settings-form footer{justify-content:flex-end;gap:.75rem;padding-top:.5rem;display:flex}@media (width<=800px){.settings-header{flex-direction:column;align-items:flex-start}.settings-shell{grid-template-columns:1fr}.settings-tabs{flex-direction:row;overflow-x:auto}.settings-tabs button{white-space:nowrap}.panel-head{flex-direction:column}.primary-button{width:100%}.settings-item{flex-direction:column;align-items:flex-start}.settings-item-actions{justify-content:flex-end;width:100%}.drag-handle{width:100%;height:34px}}.ingredients-page{min-height:100vh;padding:1.5rem}.ingredients-header{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:30px;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1280px;margin:0 auto 1.5rem;padding:2rem;display:flex;box-shadow:0 18px 60px #432d181f}.ingredients-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.ingredients-header p:not(.eyebrow){color:#7a6a5d;margin:.5rem 0 0}.ingredients-shell{grid-template-columns:290px 1fr;gap:1rem;max-width:1280px;margin:0 auto;display:grid}.ingredients-sidebar,.ingredients-panel{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;padding:1rem;box-shadow:0 18px 60px #432d181a}.ingredients-sidebar{align-self:start}.sidebar-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.sidebar-head h2{margin:0}.folder-list{flex-direction:column;gap:.35rem;margin-top:.35rem;display:flex}.folder-button{color:#2c241f;text-align:left;background:0 0;border:0;border-radius:16px;align-items:center;gap:.7rem;width:100%;padding:.8rem 1rem;font-weight:900;display:flex}.folder-button.active{color:#fff;background:#7d3f22}.folder-button.inactive{opacity:.5}.panel-actions{align-items:center;gap:.75rem;display:flex}.search-field{background:#fff;border:1px solid #d7c5b4;border-radius:16px;align-items:center;gap:.6rem;min-width:280px;padding:0 .85rem;display:flex}.search-field input{color:#2c241f;background:0 0;border:0;outline:0;width:100%;padding:.85rem 0}.ingredient-list{flex-direction:column;gap:.8rem;display:flex}.ingredient-card{background:#fffaf5;border:1px solid #eadccb;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.ingredient-card.inactive{opacity:.55}.ingredient-main{flex-direction:column;gap:.7rem;display:flex}.ingredient-title{align-items:flex-start;gap:.8rem;display:flex}.ingredient-title>svg{color:#7d3f22;margin-top:.15rem;font-size:1.35rem}.ingredient-title div{flex-direction:column;gap:.2rem;display:flex}.ingredient-title strong{font-size:1.1rem}.ingredient-title span{color:#7a6a5d}.allergen-tags{flex-wrap:wrap;gap:.4rem;display:flex}.allergen-tags span,.checkbox-pill span{color:#9d2419;background:#ffe6e2;border-radius:999px;align-items:center;padding:.35rem .65rem;font-size:.85rem;font-weight:900;display:inline-flex}.supplier-link{color:#7d3f22;align-items:center;gap:.45rem;font-weight:900;text-decoration:none;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.allergen-picker{flex-direction:column;gap:.65rem;display:flex}.field-title{align-items:center;gap:.5rem;font-weight:900;display:inline-flex}.allergen-options{flex-wrap:wrap;gap:.5rem;display:flex}.checkbox-pill{cursor:pointer}.checkbox-pill input{opacity:0;pointer-events:none;position:absolute}.checkbox-pill input:checked+span{color:#fff;background:#7d3f22}@media (width<=900px){.ingredients-header{flex-direction:column;align-items:flex-start}.ingredients-shell{grid-template-columns:1fr}.panel-actions{flex-direction:column;align-items:stretch;width:100%}.search-field{min-width:0}.form-grid{grid-template-columns:1fr}.ingredient-card{flex-direction:column}}.recipes-page{min-height:100vh;padding:1.5rem}.recipes-header{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:30px;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1380px;margin:0 auto 1.5rem;padding:2rem;display:flex;box-shadow:0 18px 60px #432d181f}.recipes-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.recipes-header p:not(.eyebrow){color:#7a6a5d;margin:.5rem 0 0}.recipes-shell{grid-template-columns:290px 1fr;gap:1rem;max-width:1380px;margin:0 auto;display:grid}.recipes-sidebar,.recipes-panel{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;padding:1rem;box-shadow:0 18px 60px #432d181a}.recipes-sidebar{align-self:start}.recipe-layout{grid-template-columns:320px 1fr;gap:1rem;display:grid}.recipe-list{flex-direction:column;gap:.75rem;display:flex}.recipe-card{cursor:pointer;background:#fffaf5;border:1px solid #eadccb;border-radius:20px;padding:1rem;transition:transform .16s,border-color .16s}.recipe-card:hover{transform:translateY(-1px)}.recipe-card.active{border-color:#7d3f22;box-shadow:0 0 0 4px #7d3f221f}.recipe-card strong{font-size:1.05rem;display:block}.recipe-card span{color:#7a6a5d;margin-top:.2rem;font-weight:800;display:block}.recipe-card p{color:#7a6a5d;margin:.5rem 0 0}.recipe-editor{background:#fffaf5;border:1px solid #eadccb;border-radius:22px;min-height:420px;padding:1rem}.empty-editor{text-align:center;color:#7a6a5d;justify-content:center;align-items:center;font-weight:900;display:flex}.recipe-editor-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.recipe-editor-head h2{margin:0}.recipe-editor-head p{color:#7a6a5d;margin:.35rem 0 0}.recipe-editor-identity{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.recipe-title-edit-button{color:#2c241f;letter-spacing:-.03em;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:0;font-size:1.5rem;font-weight:900;line-height:1.15;display:inline-flex}.recipe-title-edit-button svg{color:#9e5631;opacity:0;font-size:1rem;transition:opacity .16s,transform .16s;transform:translate(-.25rem)}.recipe-title-edit-button:hover span{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:2px}.recipe-title-edit-button:hover svg,.recipe-title-edit-button:focus-visible svg{opacity:1;transform:translate(0)}.recipe-title-edit-button:focus-visible{color:#7d3f22;outline:0}.recipe-editor header{margin-bottom:5rem}.selector-row{grid-template-columns:1fr 1fr;align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.selector-row label{flex-direction:column;gap:.35rem;font-weight:900;display:flex}.selector-row select,.builder-line select,.builder-line input,.step-builder-line select,.step-builder-line input,.step-builder-line textarea{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.8rem 1rem}.version-preview{flex-direction:column;gap:1rem;display:flex}.version-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.version-meta-grid div{background:#f6f0e8;border:1px solid #eadccb;border-radius:18px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.version-meta-grid span{color:#7a6a5d;font-weight:800}.version-meta-grid strong{font-size:1.1rem}.compact-list{flex-direction:column;gap:.5rem;display:flex}.compact-list>div{background:#fff;border:1px solid #eadccb;border-radius:16px;grid-template-columns:130px 1fr auto;align-items:center;gap:.75rem;padding:.8rem 1rem;display:grid}.compact-list em{color:#7a6a5d;font-style:normal;font-weight:900}.steps-list{flex-direction:column;gap:.75rem;display:flex}.steps-list article{background:#fff;border:1px solid #eadccb;border-radius:18px;grid-template-columns:58px 1fr;gap:.85rem;padding:1.55rem 1rem 1rem;display:grid;position:relative}.steps-list .step-content strong{margin-bottom:.35rem;display:block}.steps-list .step-content p{white-space:pre-wrap;color:#4f433a;margin:0}.wide-modal{max-width:960px}.version-builder-block{background:#f6f0e8;border:1px solid #eadccb;border-radius:20px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.block-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.block-head h3{margin:0}.builder-line{grid-template-columns:42px 1fr 140px 120px 42px;align-items:center;gap:.5rem;display:grid;position:relative}.step-builder-line{background:#fff;border:1px solid #eadccb;border-radius:16px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}@media (width<=1100px){.recipes-shell,.recipe-layout,.selector-row,.version-meta-grid,.compact-list>div,.builder-line{grid-template-columns:1fr}}.recipe-book-page{min-height:100vh;padding:1.5rem}.recipe-book-header{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:30px;justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1380px;margin:0 auto 1.5rem;padding:2rem;display:flex;box-shadow:0 18px 60px #432d181f}.recipe-book-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.4rem)}.recipe-book-header p:not(.eyebrow){color:#7a6a5d;margin:.5rem 0 0}.recipe-book-shell{grid-template-columns:320px 1fr;gap:1rem;max-width:1380px;margin:0 auto;display:grid}.recipe-book-sidebar,.recipe-book-content{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;padding:1rem;box-shadow:0 18px 60px #432d181a}.recipe-book-sidebar{align-self:start;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto}.book-search{width:100%;min-width:0;margin:1rem 0}.book-recipe-list{flex-direction:column;gap:.5rem;display:flex}.book-recipe-button{color:#2c241f;text-align:left;background:#fffaf5;border:1px solid #eadccb;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.85rem 1rem;display:flex}.book-recipe-button.active{border-color:#7d3f22;box-shadow:0 0 0 4px #7d3f221f}.book-recipe-button span{color:#7a6a5d;font-size:.9rem;font-weight:800}.book-reader{background:#fffaf5;border:1px solid #eadccb;border-radius:22px;padding:1rem}.book-reader-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.book-reader-head h2{letter-spacing:-.05em;margin:0;font-size:clamp(1.8rem,4vw,3rem)}.book-reader-head p{color:#7a6a5d;margin:.35rem 0 0}.print-kicker{display:none}.reader-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.edit-link{text-decoration:none}.reader-controls{background:#f6f0e8;border:1px solid #eadccb;border-radius:20px;grid-template-columns:1fr 1fr 180px 90px;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.reader-controls label,.yield-unit-field{flex-direction:column;gap:.35rem;font-weight:900;display:flex}.reader-controls select,.reader-controls input{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.85rem 1rem}.yield-unit-display{background:#fff;border:1px solid #d7c5b4;border-radius:14px;align-items:center;min-height:50px;padding:.85rem 1rem;display:flex}.reader-controls label span,.yield-unit-field span{color:#7a6a5d;font-size:.85rem}.recipe-title-print{display:none}.book-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.book-meta-grid div{background:#f6f0e8;border:1px solid #eadccb;border-radius:18px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.book-meta-grid span{color:#7a6a5d;font-weight:800}.book-meta-grid strong{font-size:1.05rem}.book-section{margin-top:1.5rem}.book-section h3{letter-spacing:-.03em;margin:0 0 .75rem;font-size:1.4rem}.recipe-table{border-collapse:collapse;background:#fff;border:1px solid #eadccb;border-radius:18px;width:100%;overflow:hidden}.recipe-table th,.recipe-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eadccb;padding:.85rem 1rem}.recipe-table th{color:#4f433a;text-transform:uppercase;letter-spacing:.06em;background:#f6f0e8;font-size:.9rem}.recipe-table tr:last-child td{border-bottom:0}.recipe-table small{color:#7a6a5d;margin-top:.25rem;display:block}.recipe-table a{color:#7d3f22;font-weight:900;text-decoration:none}.book-steps{flex-direction:column;gap:1.5rem;display:flex}.book-steps article{background:#fff;border:1px solid #eadccb;border-radius:18px;grid-template-columns:58px 1fr;gap:.85rem;padding:1.55rem 1rem 1rem;display:grid;position:relative}.step-number{color:#fff;background:#7d3f22;border:1px solid #7d3f22;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:900;line-height:1;position:absolute;top:-.7rem;left:.9rem;box-shadow:0 6px 16px #7d3f222e}.step-type-column{color:#7d3f22;justify-content:center;align-items:center;min-height:100%;display:flex}.step-type-icon{opacity:.95;font-size:1.85rem}.step-content{min-width:0}.book-steps strong{margin-bottom:.35rem;display:block}.book-steps p{white-space:pre-wrap;color:#4f433a;margin:0}.recipe-notes{white-space:pre-wrap;background:#fff;border:1px solid #eadccb;border-radius:18px;margin:0;padding:1rem}.cost-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.cost-summary div{background:#f6f0e8;border:1px solid #eadccb;border-radius:18px;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.cost-summary span{color:#7a6a5d;font-weight:800}.cost-summary strong{font-size:1.15rem}.cost-summary input{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:12px;outline:none;width:100%;padding:.7rem .85rem}.print-only{display:none}.book-empty{text-align:center;color:#7a6a5d;flex-direction:column;justify-content:center;align-items:center;min-height:520px;display:flex}.book-empty svg{color:#7d3f22;margin-bottom:1rem;font-size:4rem}.book-empty h2{color:#2c241f;margin:0;font-size:2rem}.book-empty p{margin:.5rem 0 0}@media (width<=1100px){.recipe-book-shell{grid-template-columns:1fr}.recipe-book-sidebar{max-height:none;position:static}.reader-controls,.book-meta-grid,.cost-summary{grid-template-columns:1fr}.book-reader-head{flex-direction:column}.reader-actions{justify-content:flex-start}}@media print{:root,body{color:#000!important;background:#fff!important}.no-print,.no-print *{display:none!important}.recipe-book-page{padding:0}.recipe-book-shell{max-width:none;margin:0;display:block}.recipe-book-content,.book-reader,.printable-recipe{box-shadow:none;background:#fff;border:0;padding:0}.recipe-title-print{border-bottom:2px solid #000;margin-bottom:1rem;padding-bottom:.5rem;display:block}.recipe-title-print h1{margin:0;font-size:24pt}.recipe-title-print p{margin:.25rem 0 0;font-size:11pt}.print-kicker{text-transform:uppercase;letter-spacing:.12em;color:#555;margin:0 0 .25rem;font-size:9pt;display:block}.book-meta-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:.8rem}.book-meta-grid div,.book-steps article,.recipe-notes,.cost-summary div{background:#fff;border:1px solid #999;border-radius:0;padding:.45rem}.book-meta-grid span,.cost-summary span{color:#555;font-size:8pt}.book-meta-grid strong,.cost-summary strong{font-size:10pt}.book-section{page-break-inside:avoid;margin-top:.9rem}.book-section h3{margin-bottom:.35rem;font-size:14pt}.recipe-table{border:1px solid #999;border-radius:0;font-size:9pt}.recipe-table th,.recipe-table td{border-bottom:1px solid #bbb;padding:.35rem .45rem}.recipe-table th{color:#000;background:#eee!important}.book-steps{gap:.85rem}.book-steps article{page-break-inside:avoid;grid-template-columns:34px 1fr;gap:.45rem;padding:.85rem .45rem .45rem;position:relative}.step-number{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .45rem;font-size:8pt;font-weight:900;line-height:1;position:absolute;top:-.55rem;left:.4rem;color:#000!important;background:#fff!important;border:1px solid #999!important;width:auto!important;height:auto!important;display:inline-flex!important}.step-type-column{justify-content:center;align-items:center;color:#000!important;display:flex!important}.step-type-icon{opacity:1;width:1em;height:1em;font-size:14pt;color:#000!important;display:inline-block!important}.step-content{min-width:0}.step-content strong{margin-bottom:.15rem;font-size:9.5pt;display:block}.step-content p{white-space:pre-wrap;margin:0;font-size:9pt;color:#000!important}.allergen-tags span{border:1px solid #999;color:#000!important;background:#fff!important}.print-only{display:inline!important}.print-only-costs-hidden{display:none!important}.costs-section{page-break-before:always}.cost-summary{grid-template-columns:repeat(3,1fr);gap:.35rem}.no-print-optional{display:none}.meta-icon-value svg{color:#000!important}.recipe-table tbody tr.allergen-highlighted td{box-shadow:none!important;background:#fff!important}}.recipe-editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (width<=900px){.recipe-editor-actions{flex-direction:column;align-items:stretch;width:100%}}.users-admin-layout{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.settings-subtitle{letter-spacing:-.03em;margin:0 0 .75rem;font-size:1.15rem}.user-badge{color:#2c241f;white-space:nowrap;background:#eadccb;border-radius:999px;padding:.45rem .75rem;font-weight:900}.user-badge.admin{color:#fff;background:#7d3f22}.user-badge.manager{color:#fff;background:#b46b38}.user-badge.viewer{color:#2c241f;background:#eadccb}@media (width<=1000px){.users-admin-layout{grid-template-columns:1fr}}.role-select{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;padding:.7rem .9rem;font-weight:900}.role-select:focus{border-color:#9e5631;box-shadow:0 0 0 4px #9e563129}.role-select:disabled{opacity:.5;cursor:not-allowed}.settings-item.sortable{cursor:grab}.settings-item.sortable:active{cursor:grabbing}.settings-item.dragging{opacity:.45;transform:scale(.995)}.drag-handle{color:#7d3f22;cursor:grab;background:#f1e6d8;border-radius:14px;flex:none;justify-content:center;align-items:center;width:34px;height:42px;display:inline-flex}.drag-handle:active{cursor:grabbing}.settings-item-main{flex:1}.folder-button[draggable=true]{cursor:grab}.folder-button[draggable=true]:active{cursor:grabbing}.folder-button.dragging{opacity:.45;transform:scale(.995)}.folder-button svg{flex:none}.folder-button{position:relative}.folder-button.drag-over-before:before,.folder-button.drag-over-after:after{content:"";pointer-events:none;background:#7d3f22;border-radius:999px;height:4px;position:absolute;left:.75rem;right:.75rem;box-shadow:0 0 0 4px #7d3f2224}.folder-button.drag-over-before:before{top:-.25rem}.folder-button.drag-over-after:after{bottom:-.25rem}.folder-button.drag-over-inside{background:#eadccb;box-shadow:inset 0 0 0 2px #7d3f2259}.folder-button.drag-over-inside:after{content:"Déplacer dedans";color:#7d3f22;opacity:.85;margin-left:auto;font-size:.72rem;font-weight:900}.draggable-builder-item{position:relative}.draggable-builder-item.dragging{opacity:.45;transform:scale(.995)}.draggable-builder-item.drag-over-before:before,.draggable-builder-item.drag-over-after:after{content:"";pointer-events:none;z-index:2;background:#7d3f22;border-radius:999px;height:4px;position:absolute;left:.75rem;right:.75rem;box-shadow:0 0 0 4px #7d3f2224}.draggable-builder-item.drag-over-before:before{top:-.25rem}.draggable-builder-item.drag-over-after:after{bottom:-.25rem}.step-builder-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.price-vat-checkbox{background:#fff;border:1px solid #d7c5b4;border-radius:14px;justify-content:center;align-self:end;align-items:center;gap:.65rem;height:48px;min-height:0;padding:.85rem 1rem;flex-direction:row!important;display:flex!important}.price-vat-checkbox input{margin:0;width:auto!important}.price-vat-checkbox span{line-height:1}.folder-button span:not(.folder-actions){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-actions{opacity:0;align-items:center;gap:.25rem;margin-left:auto;transition:opacity .16s;display:inline-flex}.folder-button:hover .folder-actions,.folder-button.active .folder-actions{opacity:1}.folder-action-button{color:#2c241f;background:#eadccbf2;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;display:inline-flex}.folder-button.active .folder-action-button{color:#fff;background:#ffffff2e}.folder-action-button.danger{color:#9d2419;background:#ffe6e2}.folder-button.active .folder-action-button.danger{color:#fff;background:#ffe6e238}.ingredient-search-select{min-width:0;position:relative}.ingredient-search-control{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem;width:100%;min-height:47px;padding:0 .75rem;display:grid}.ingredient-search-control.open{border-color:#9e5631;box-shadow:0 0 0 4px #9e563129}.ingredient-search-control>svg{color:#7d3f22}.ingredient-search-control input{color:#2c241f;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:.8rem 0}.ingredient-search-clear{color:#2c241f;background:#eadccb;border:0;border-radius:10px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ingredient-search-option-tags{flex-wrap:wrap;gap:.25rem;margin-top:.3rem;display:flex}.ingredient-search-inline-allergens{align-items:center;gap:.25rem;max-width:130px;display:inline-flex;overflow:hidden}.ingredient-search-inline-allergens span,.ingredient-search-option-tags small{color:#9d2419;white-space:nowrap;background:#ffe6e2;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.68rem;font-weight:900;line-height:1.1;display:inline-flex}.ingredient-search-inline-allergens span:first-child{text-overflow:ellipsis;overflow:hidden}.ingredient-search-dropdown{z-index:80;background:#fff;border:1px solid #d7c5b4;border-radius:16px;max-height:320px;padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto;box-shadow:0 18px 50px #432d182e}.ingredient-search-option{color:#2c241f;text-align:left;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.75rem;display:flex}.ingredient-search-option:hover,.ingredient-search-option.highlighted{background:#f6f0e8}.ingredient-search-option strong{font-size:.95rem}.ingredient-search-option span{color:#7a6a5d;font-size:.82rem;font-weight:800}.ingredient-search-empty{color:#7a6a5d;text-align:center;margin:0;padding:1rem;font-weight:900}.recipe-detected-allergens{background:#fff7f5;border:1px solid #f2c9c1;border-radius:18px;margin-top:.5rem;padding:1rem}.recipe-detected-allergens h3{margin:0 0 .65rem}.compact-list>div{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.compact-list>div.allergen-highlighted{background:#fff0ec;border-color:#e9a69a;transform:translate(2px);box-shadow:0 0 0 4px #9d241914}.recipe-detected-allergens .allergen-tags span{cursor:help;transition:background .16s,color .16s,box-shadow .16s,transform .16s}.recipe-detected-allergens .allergen-tags span:hover,.recipe-detected-allergens .allergen-tags span.active{color:#fff;background:#9d2419;transform:translateY(-1px);box-shadow:0 8px 20px #9d24192e}.printer-settings-line{flex-direction:column;gap:.25rem;display:flex}.printer-settings-line span{align-items:center;gap:.45rem;display:inline-flex}.printer-settings-line svg{color:#7d3f22}.dlc-print-modal{max-width:520px}.dlc-label-preview{background:#fff;border:1px solid #eadccb;border-radius:18px;flex-direction:column;gap:.35rem;margin-bottom:1rem;padding:1rem;display:flex}.dlc-label-preview strong{letter-spacing:-.03em;font-size:1.35rem}.dlc-label-preview span{color:#4f433a;align-items:center;gap:.45rem;font-weight:800;display:inline-flex}.dlc-label-preview svg{color:#7d3f22}.secondary-button:disabled,.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.component-source-select select{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.8rem 1rem;font-weight:900}.component-type-badge{color:#2c241f;vertical-align:middle;background:#eadccb;border-radius:999px;align-items:center;margin-right:.45rem;padding:.22rem .5rem;font-size:.72rem;font-weight:900;display:inline-flex}.component-type-badge.recipe{color:#fff;background:#7d3f22}.component-type-badge.ingredient{color:#2c241f;background:#eadccb}@media (width>=1101px){.builder-line{grid-template-columns:42px 130px 1fr 140px 120px 42px}}.modal-muted{color:#7a6a5d;margin:.35rem 0 0;font-weight:700;line-height:1.45}.component-propagation-list{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.component-propagation-item{cursor:pointer;background:#fff;border:1px solid #eadccb;border-radius:18px;grid-template-columns:auto 1fr;align-items:flex-start;gap:.8rem;padding:.9rem 1rem;display:grid}.component-propagation-item input{margin-top:.25rem}.component-propagation-item span{flex-direction:column;gap:.2rem;display:flex}.component-propagation-item em{color:#7a6a5d;font-style:normal;font-weight:900}.component-propagation-item small{color:#7a6a5d;font-weight:700}.settings-modal.wide-modal footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media (width<=700px){.settings-modal.wide-modal footer{flex-direction:column}.settings-modal.wide-modal footer button{width:100%}}.component-view-button{color:#7d3f22;text-align:left;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-weight:900;text-decoration:none;display:inline-flex}.component-view-button:hover{text-decoration:underline}.component-viewer-modal{max-width:1040px}.component-viewer-body{flex-direction:column;gap:1rem;display:flex}@media print{.component-view-button{display:inline;color:#000!important;text-decoration:none!important}.component-view-button svg{display:none!important}}.print-options-modal{max-width:680px}.print-options-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.print-option-card{cursor:pointer;background:#fff;border:1px solid #eadccb;border-radius:18px;grid-template-columns:auto 1fr;align-items:flex-start;gap:.85rem;padding:1rem;display:grid}.print-option-card input{margin-top:.2rem}.print-option-card span{flex-direction:column;gap:.2rem;display:flex}.print-option-card small{color:#7a6a5d;font-weight:700;line-height:1.35}.print-option-card.disabled{opacity:.62;cursor:not-allowed}.print-options-modal footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}@media print{.printable-sub-recipe{page-break-before:always;break-before:page}.printable-sub-recipe .component-type-badge{border:1px solid #999;color:#000!important;background:#fff!important}.component-view-button{display:inline;color:#000!important;text-decoration:none!important}.component-view-button svg{display:none!important}}@media (width<=700px){.print-options-modal footer{flex-direction:column}.print-options-modal footer button{width:100%}}.icon-picker-field{flex-direction:column;gap:.65rem;display:flex}.icon-picker-current{color:#7d3f22;background:#fff;border:1px solid #d7c5b4;border-radius:16px;align-items:center;gap:.75rem;min-height:50px;padding:.85rem 1rem;display:flex}.icon-picker-current svg{font-size:1.4rem}.icon-picker-current strong{color:#2c241f}.icon-picker-search{color:#7a6a5d;background:#fff;border:1px solid #d7c5b4;border-radius:14px;align-items:center;gap:.6rem;padding:0 .85rem;display:flex}.icon-picker-search input{color:#2c241f;background:0 0;border:0;outline:0;width:100%;padding:.85rem 0}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;max-height:250px;padding:.25rem;display:grid;overflow:auto}.icon-picker-option{color:#2c241f;background:#fff;border:1px solid #eadccb;border-radius:15px;flex-direction:column;align-items:center;gap:.45rem;padding:.75rem .6rem;font-weight:900;transition:background .16s,border-color .16s,transform .16s;display:flex}.icon-picker-option:hover{background:#fffaf5;border-color:#7d3f2259;transform:translateY(-1px)}.icon-picker-option.active{color:#fff;background:#7d3f22;border-color:#7d3f22}.icon-picker-option svg{font-size:1.35rem}.icon-picker-option span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.78rem;overflow:hidden}.setting-icon-preview-line{align-items:center;gap:.45rem;display:inline-flex}.setting-icon-preview-line svg{color:#7d3f22}.allergen-tags span{gap:.4rem}.allergen-tags span svg{flex:none;font-size:.9rem}.meta-icon-value{align-items:center;gap:.45rem;display:inline-flex}.meta-icon-value svg{color:#7d3f22;flex:none}.checkbox-pill span{gap:.4rem}.checkbox-pill span svg{flex:none;font-size:.9rem}.ingredient-source-info{flex-direction:column;gap:.35rem;display:flex}.ingredient-source-info a,.ingredient-source-info span{align-items:center;gap:.4rem;font-weight:900;display:inline-flex}.ingredient-source-info a{color:#7d3f22;text-decoration:none}.ingredient-source-info span{color:#7a6a5d}.internal-reference-button{color:#7d3f22;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-weight:900;display:inline-flex}.internal-reference-button:hover{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:2px}.internal-reference-button:focus-visible{color:#9e5631;outline:0}.barcode-preview{background:#fff;border:1px solid #eadccb;border-radius:16px;flex-direction:column;align-items:center;gap:.65rem;margin-top:.65rem;padding:1rem;display:flex}.barcode-preview-bars{background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:2px;width:100%;min-height:82px;padding:.75rem 1rem;display:flex;overflow:hidden}.barcode-preview-bars span{background:#2c241f;border-radius:1px;display:block}.barcode-preview strong{letter-spacing:.08em;color:#2c241f;font-size:1.1rem}.recipe-table tbody tr{transition:background .16s,box-shadow .16s,transform .16s}.recipe-table tbody tr.allergen-highlighted td{background:#fff0ec;box-shadow:inset 0 1px #e9a69a8c,inset 0 -1px #e9a69a8c}.recipe-table tbody tr.allergen-highlighted td:first-child{box-shadow:inset 4px 0 #9d2419,inset 0 1px #e9a69a8c,inset 0 -1px #e9a69a8c}.book-section .allergen-tags span{cursor:help;transition:background .16s,color .16s,box-shadow .16s,transform .16s}.book-section .allergen-tags span:hover,.book-section .allergen-tags span.active{color:#fff;background:#9d2419;transform:translateY(-1px);box-shadow:0 8px 20px #9d24192e}.recipe-card[draggable=true]{cursor:grab}.recipe-card[draggable=true]:active{cursor:grabbing}.recipe-card.dragging{opacity:.45;transform:scale(.995)}.price-history-page{min-height:100vh;padding:1.5rem}.price-history-shell{grid-template-columns:340px 1fr;gap:1rem;max-width:1380px;margin:0 auto;display:grid}.price-history-panel{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;padding:1rem;box-shadow:0 18px 60px #432d181a}.price-history-search{width:100%;min-width:0;margin:1rem 0}.price-history-ingredient-list{flex-direction:column;gap:.5rem;display:flex}.price-history-ingredient-button{color:#2c241f;text-align:left;background:#fffaf5;border:1px solid #eadccb;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:.85rem 1rem;font-weight:900;display:flex}.price-history-ingredient-button.active{border-color:#7d3f22;box-shadow:0 0 0 4px #7d3f221f}.price-history-ingredient-button span{color:#7a6a5d;font-size:.86rem;font-weight:800}.price-chart-card{background:#fffaf5;border:1px solid #eadccb;border-radius:22px;margin-top:1rem;padding:1rem}.price-chart-card h3{letter-spacing:-.03em;margin:0;font-size:1.35rem}.price-chart-card p{color:#7a6a5d;margin:.3rem 0 0;font-weight:800}.price-chart-legend{color:#4f433a;flex-wrap:wrap;align-items:center;gap:.85rem;font-weight:900;display:flex}.price-chart-legend span{align-items:center;gap:.4rem;display:inline-flex}.legend-line{border-radius:999px;width:24px;height:4px;display:inline-block}.legend-line.ttc{background:#c48a4d}.price-chart-wrap{width:100%;margin-top:1rem;overflow-x:auto}.price-chart{width:100%;min-width:620px;height:auto;display:block}.chart-axis{stroke:#7a6a5d;stroke-width:2px;opacity:.55}.chart-grid{stroke:#eadccb;stroke-width:1px}.chart-label{fill:#7a6a5d;font-size:12px;font-weight:800}.chart-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.chart-line.ttc{stroke:#c48a4d}.chart-dot.ttc{fill:#c48a4d}@media (width<=1100px){.price-history-shell{grid-template-columns:1fr}}.production-page{min-height:100vh;padding:1.5rem}.production-shell{grid-template-columns:320px 1fr;gap:1rem;max-width:1380px;margin:0 auto;display:grid}.production-content{flex-direction:column;gap:1rem;display:flex}.production-builder{margin-bottom:0}.production-options{background:#f6f0e8;border:1px solid #eadccb;border-radius:18px;margin-bottom:1rem;padding:1rem}.production-options p{color:#7a6a5d;margin:.4rem 0 0;font-weight:800}.production-version-picker{background:#f6f0e8;border:1px solid #eadccb;border-radius:20px;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.production-version-picker h3{letter-spacing:-.03em;margin:0;font-size:1.35rem}.production-version-picker p{color:#7a6a5d;margin:.25rem 0 0;font-weight:800}.production-picker-grid{grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;display:grid}.production-picker-grid label,.production-item label{flex-direction:column;gap:.35rem;font-weight:900;display:flex}.production-picker-grid label span,.production-item label span{color:#7a6a5d;font-size:.85rem}.production-picker-grid select,.production-item input,.production-item select{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:14px;outline:none;width:100%;padding:.85rem 1rem}.production-item-list{flex-direction:column;gap:.75rem;display:flex}.production-item{background:#fff;border:1px solid #eadccb;border-radius:20px;grid-template-columns:1fr 150px 110px 42px;align-items:end;gap:.75rem;padding:1rem;display:grid}.production-item strong{font-size:1.05rem;display:block}.production-item span{color:#7a6a5d;margin-top:.25rem;font-weight:800;display:block}.production-result{margin-bottom:1rem}@media (width<=1100px){.production-shell,.production-picker-grid,.production-item{grid-template-columns:1fr}.production-item .icon-button{width:100%}}@media print{.production-page{padding:0}.production-shell{max-width:none;display:block}.production-content,.production-result,.book-reader{box-shadow:none!important;background:#fff!important;border:0!important}.production-result .book-reader-head{border-bottom:2px solid #000;padding-bottom:.5rem}.production-result h2{font-size:22pt}.production-result .cost-summary div{background:#fff;border:1px solid #999}}.selector-row-actions{justify-content:flex-end;align-items:end;height:100%;display:flex}.recipe-editor-actions .icon-button{flex:none}@media (width<=1100px){.selector-row-actions{justify-content:stretch}.selector-row-actions .icon-button{width:100%}}.icon-button{transition:transform .16s,background .16s,color .16s,box-shadow .16s;position:relative}.icon-button:hover:not(:disabled){color:#fff;background:#7d3f22;transform:translateY(-1px);box-shadow:0 10px 24px #7d3f222e}.icon-button.danger:hover:not(:disabled){color:#fff;background:#9d2419;box-shadow:0 10px 24px #9d24192e}.icon-button:active:not(:disabled){transform:translateY(0);box-shadow:0 5px 14px #432d1824}.icon-button[data-tooltip]:after{content:attr(data-tooltip);z-index:30;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#2c241f;border-radius:999px;padding:.42rem .62rem;font-size:.72rem;font-weight:900;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%)translateY(.25rem);box-shadow:0 10px 24px #2c241f2e}.icon-button[data-tooltip]:before{content:"";z-index:30;opacity:0;pointer-events:none;border-top:.32rem solid #2c241f;border-left:.32rem solid #0000;border-right:.32rem solid #0000;width:0;height:0;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .22rem);left:50%;transform:translate(-50%)translateY(.25rem)}.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:hover:before,.icon-button[data-tooltip]:focus-visible:after,.icon-button[data-tooltip]:focus-visible:before{opacity:1;transform:translate(-50%)translateY(0)}.change-log-page{min-height:100vh;padding:1.5rem}.change-log-shell{background:#ffffffc2;border:1px solid #ffffffbf;border-radius:26px;max-width:1180px;margin:0 auto;padding:1rem;box-shadow:0 18px 60px #432d181a}.change-log-filters{grid-template-columns:1fr 220px 220px auto;align-items:center;gap:.75rem;margin-bottom:1rem;display:grid}.change-log-filters .search-field{min-width:0}.change-log-filters select{color:#2c241f;background:#fff;border:1px solid #d7c5b4;border-radius:16px;outline:none;width:100%;padding:.85rem 1rem;font-weight:900}.change-log-list{flex-direction:column;gap:.75rem;display:flex}.change-log-item{background:#fffaf5;border:1px solid #eadccb;border-radius:20px;grid-template-columns:46px 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.change-log-icon{color:#7d3f22;background:#eadccb;border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.2rem;display:flex}.change-log-main{min-width:0}.change-log-main header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.change-log-main strong{color:#2c241f;font-size:1.02rem}.change-log-main header span{color:#7a6a5d;white-space:nowrap;font-weight:900}.change-log-main p{color:#7a6a5d;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.35rem 0 0;font-weight:800;display:flex}.change-log-badge{color:#fff;white-space:nowrap;background:#7d3f22;border-radius:999px;padding:.4rem .7rem;font-size:.78rem;font-weight:900}@media (width<=900px){.change-log-filters,.change-log-item{grid-template-columns:1fr}.change-log-main header{flex-direction:column;align-items:flex-start;gap:.25rem}.change-log-badge{width:fit-content}}
