:root{color-scheme:light;--ink:#211a17;--muted:#6b625c;--paper:#fffaf2;--panel:rgba(255,252,246,0.9);--line:rgba(45,34,26,0.14);--coffee:#5c3827;--espresso:#2c1b14;--cream:#f4dfbd;--mint:#78a889;--rose:#d76f64;--gold:#c99642;--shadow:0 24px 70px rgba(45,31,18,0.22)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:Nunito,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#f8efe2}button,input,select{font:inherit}button{cursor:pointer}input[type=checkbox]{accent-color:var(--rose)}.app-shell{min-height:100vh}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:16px clamp(18px,4vw,48px);background:rgba(255,250,242,.82);border-bottom:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;color:var(--ink);font-weight:800;text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#fffaf2;background:var(--espresso);font-size:13px}.topnav{display:flex;align-items:center;gap:18px}.ghost-button,.nav-button,.topnav a{color:var(--ink);font-weight:700;text-decoration:none}.close-button,.ghost-button,.icon-button,.nav-button{border:0;background:transparent}.topnav form{display:flex;align-items:center;margin:0}.nav-auth-block{display:inline-grid!important;justify-items:center;align-items:center;gap:2px;margin:0}.nav-auth-block span{max-width:130px;overflow:hidden;color:var(--muted);font-size:10px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.nav-button{display:inline-flex;align-items:center;min-height:auto;padding:0;box-shadow:none;cursor:pointer;line-height:1.2}.hero{position:relative;min-height:100vh;padding:96px clamp(18px,4vw,48px) 42px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,18,12,.62),rgba(31,18,12,.16) 50%,rgba(248,239,226,.92)),url(/assets/coffee-studio.png) 50% /cover no-repeat}.hero-grid{position:relative;display:grid;grid-template-columns:minmax(320px,560px) minmax(320px,620px);align-items:start;grid-gap:clamp(18px,3vw,36px);gap:clamp(18px,3vw,36px);max-width:1280px;margin:0 auto}.catalog-section,.generator-panel,.plans-section,.result-panel{border:1px solid rgba(255,255,255,.58);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.generator-panel,.result-panel{border-radius:8px;padding:clamp(22px,3vw,34px)}.section-kicker{color:var(--rose);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:560px;margin-bottom:14px;font-size:clamp(34px,4.8vw,58px);line-height:1.04}h1,h2{font-family:Nunito,Inter,system-ui,sans-serif;font-weight:900;letter-spacing:0}h2{margin-bottom:12px;font-size:clamp(26px,3vw,42px)}h3{margin:22px 0 10px;font-family:Nunito,Inter,system-ui,sans-serif;font-weight:900;font-size:15px}input,li,p,select,td,textarea{font-family:Inter,Nunito,system-ui,sans-serif}.brand,.ghost-button,.metric strong,.nav-button,.primary-link,.section-kicker,.small-button,.topnav a,.variant,button,label,strong,th{font-family:Nunito,Inter,system-ui,sans-serif}.lead{max-width:520px;color:#fff7eb;text-shadow:0 1px 22px rgba(0,0,0,.42)}.generator-panel .lead{color:var(--muted);text-shadow:none}.controls{display:grid;grid-gap:12px;gap:12px;margin-top:16px}fieldset{min-width:0;margin:0;padding:0;border:0}.segmented-field{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.segmented-field legend{grid-column:1/-1;margin-bottom:6px;color:var(--muted);font-size:13px;font-weight:700}.segmented-field input{position:absolute;opacity:0}.segmented-field span{display:block;min-height:38px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;text-align:center;font-weight:800;background:rgba(255,255,255,.58)}.segmented-field input:checked+span{color:#fffaf2;background:var(--espresso);border-color:var(--espresso)}.control{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.inline-controls{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr);grid-gap:12px;gap:12px}.aroma-control select{font-size:12px}.controls input[type=text],.controls select{min-height:40px;padding:0 11px}.catalog-toolbar input,.catalog-toolbar select,.ingredient-form input,.ingredient-form select,.registration-form input,input[type=email],input[type=number],input[type=password],input[type=text],select{width:100%;min-height:46px;padding:0 13px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;background-color:rgba(255,250,242,.92);background-image:linear-gradient(45deg,transparent 50%,var(--coffee) 50%),linear-gradient(135deg,var(--coffee) 50%,transparent 50%),linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,250,242,.92));background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;color:var(--ink);font-weight:800}select:focus{border-color:rgba(75,45,33,.42);outline:2px solid rgba(75,45,33,.12);outline-offset:2px}select option{color:var(--ink);background:#fffaf2}select option:checked{color:#fffaf2;background:linear-gradient(135deg,var(--espresso),var(--coffee))}input[type=range]{accent-color:var(--rose)}.slider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 14px;gap:10px 14px}.actions{display:flex;align-items:center;gap:12px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 20px;border:0;border-radius:8px;color:#fffaf2;background:linear-gradient(135deg,var(--espresso),var(--coffee));font-weight:900;box-shadow:0 12px 28px rgba(44,27,20,.24)}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,250,242,.42);border-top-color:#fffaf2;border-radius:999px;animation:button-spin .8s linear infinite}@keyframes button-spin{to{transform:rotate(1turn)}}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;color:var(--coffee);font-size:22px;background:rgba(255,255,255,.68)}.result-panel{min-height:560px}.result-empty{display:grid;min-height:500px;place-items:center;align-content:center;text-align:center}.result-empty p{max-width:360px;color:var(--muted)}.result-register-link{margin-top:10px}.result-spinner{width:34px;height:34px;border-color:rgba(92,56,39,.18);border-top-color:var(--coffee)}.result-message{max-width:420px;margin:0}.steam-icon{font-size:58px}.hidden{display:none}.recipe-heading{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;align-items:stretch}.recipe-heading h2{margin-bottom:0}.recipe-name-field{display:grid;width:100%;grid-gap:6px;gap:6px}.recipe-name-field span{color:var(--muted);font-size:12px;font-weight:800}#recipeName{box-sizing:border-box;width:100%;min-height:42px;padding:0 11px;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--ink);font-family:Nunito,Inter,system-ui,sans-serif;font-size:clamp(22px,2.4vw,32px);line-height:1.12}#recipeBadge,#recipeName{border-radius:8px;font-weight:900}#recipeBadge{flex:0 0 auto;padding:8px 10px;color:#fffaf2;background:var(--mint);font-size:12px}.recipe-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.primary-link,.small-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--coffee);background:#fffaf2;font-weight:900;text-decoration:none}.primary-link{min-height:46px;padding:0 18px;color:#fffaf2;border-color:var(--espresso);background:linear-gradient(135deg,var(--espresso),var(--coffee))}.save-recipe-button{min-height:40px;padding:0 16px;border-color:transparent;color:#fffaf2;background:linear-gradient(135deg,var(--espresso),var(--rose));box-shadow:0 12px 24px rgba(75,45,33,.18)}.recipe-register-cta{display:grid;grid-gap:10px;gap:10px;margin-top:18px;padding:14px;border:1px solid rgba(215,111,100,.26);border-radius:8px;background:rgba(255,246,238,.72)}.recipe-register-cta span{color:var(--muted);font-size:13px;font-weight:800;line-height:1.3}.recipe-register-cta .primary-link{width:-moz-fit-content;width:fit-content}.token-usage{margin:16px 0 0;padding:9px 11px;border-top:1px solid var(--line);color:var(--muted);font-family:Nunito,Inter,system-ui,sans-serif;font-size:12px;font-weight:900}.metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:22px 0}.metric{min-height:78px;padding:12px;border-radius:8px;background:rgba(255,255,255,.62);border:1px solid var(--line)}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:700}.metric strong{display:block;margin-top:5px;font-size:18px}.ingredient-list,.steps{padding-left:20px;color:var(--muted)}.ingredient-list li,.steps li{margin-bottom:7px}.generator-variants,.variants{display:grid;grid-gap:8px;gap:8px}.generator-variants{margin-top:2px}.generator-variants.hidden{display:none}.generator-variants h3{margin:4px 0 0}.variant{display:block;width:100%;padding:9px 11px;border:0;border-left:4px solid var(--gold);border-radius:6px;background:rgba(255,255,255,.58);color:var(--ink);font-size:12px;font-weight:800;text-align:left}.variant:hover{background:rgba(255,250,242,.94);transform:translateY(-1px)}.base-variant{border-left-color:var(--mint);color:var(--coffee);background:rgba(120,168,137,.16)}.active-variant{color:#fffaf2;border-left-color:var(--rose);box-shadow:0 10px 22px rgba(44,27,20,.16)}.active-variant,.active-variant:hover{background:linear-gradient(135deg,var(--espresso),var(--coffee))}.catalog-section,.plans-section{margin:0;padding:clamp(34px,5vw,68px) clamp(18px,4vw,48px);border-left:0;border-right:0;border-radius:0;box-shadow:none}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;max-width:1180px;margin:0 auto 26px}.section-heading p{max-width:500px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;max-width:1180px;margin:0 auto}.catalog-group{min-height:230px;padding:18px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.56)}.catalog-group h3{margin-top:0;font-size:17px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list span{padding:7px 9px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:800}.chip-list span,.plans-section{background:#fffaf2}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;max-width:1180px;margin:0 auto}.plans article{min-height:180px;padding:24px;border-radius:8px;border:1px solid var(--line);background:#fff}.plans span{color:var(--muted);font-weight:900}.plans strong{display:block;margin:14px 0;font-size:28px}.featured-plan{color:#fffaf2;background:var(--espresso)!important}.featured-plan p,.featured-plan span{color:rgba(255,250,242,.76)}.registration-modal{width:min(460px,calc(100vw - 28px));padding:0;border:0;border-radius:8px;background:transparent}.registration-modal::-webkit-backdrop{background:rgba(18,10,6,.62);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.registration-modal::backdrop{background:rgba(18,10,6,.62);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.registration-form{position:relative;display:grid;grid-gap:14px;gap:14px;padding:28px;border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.login-page{min-height:100vh;padding:118px clamp(18px,4vw,48px) 54px;background:linear-gradient(180deg,rgba(255,250,242,.74),rgba(248,239,226,.96)),url(/assets/coffee-studio.png) 50% /cover fixed no-repeat}.login-panel{width:min(460px,100%);margin:0 auto;padding:clamp(24px,4vw,34px);border:1px solid rgba(255,255,255,.58);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-panel h1{font-size:clamp(34px,5vw,56px)}.login-panel p{color:var(--muted);font-weight:700}.demo-access{grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.58);color:var(--muted);font-size:13px;font-weight:800}.auth-tabs,.demo-access{display:grid;margin:14px 0}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.auth-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:8px;color:var(--coffee);background:rgba(255,255,255,.56);font-family:Nunito,Inter,system-ui,sans-serif;font-size:13px;font-weight:900;text-decoration:none}.auth-tabs a.active{color:#fffaf2;border-color:var(--espresso);background:linear-gradient(135deg,var(--espresso),var(--coffee));box-shadow:0 10px 24px rgba(44,27,20,.16)}.login-form{width:100%;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-message{margin:0 0 12px}.login-back{display:inline-flex;margin-top:16px;color:var(--coffee);font-weight:900;text-decoration:none}.registration-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.close-button{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:8px;font-size:28px;line-height:1}.device-note{padding:12px;border-radius:8px;color:var(--muted);background:rgba(120,168,137,.16);font-size:12px}.catalog-page{padding:104px clamp(18px,4vw,48px) 54px;background:linear-gradient(180deg,rgba(255,250,242,.7),rgba(248,239,226,1)),url(/assets/coffee-studio.png) top /cover fixed no-repeat}.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-gap:24px;gap:24px;align-items:end;max-width:1280px;margin:0 auto 26px}.catalog-hero h1{max-width:760px;font-size:clamp(32px,4.2vw,56px);line-height:1.08}.catalog-hero p{max-width:650px;color:var(--muted);font-weight:600}.auth-card,.catalog-workspace,.ingredient-form{border:1px solid rgba(255,255,255,.62);border-radius:8px;background:rgba(255,252,246,.92);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card{padding:22px}.compact-auth{padding:16px}.auth-card span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.auth-card strong{display:block;margin:6px 0;font-size:20px}.auth-card p{margin-bottom:0;font-size:13px;line-height:1.35}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:20px;gap:20px;align-items:start;max-width:1280px;margin:0 auto}.editor-layout.guest{grid-template-columns:1fr}.ingredient-form{order:2;position:-webkit-sticky;position:sticky;top:92px;display:grid;grid-gap:9px;gap:9px;padding:16px}.ingredient-form .section-kicker{font-size:10px}.ingredient-form h2{margin-bottom:2px;font-size:clamp(28px,3.2vw,42px);line-height:1.05}.catalog-toolbar label,.ingredient-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.ingredient-form label{gap:5px;font-size:12px}.ingredient-form input,.ingredient-form select{min-height:36px;padding:0 10px}.ingredient-form input[type=range]{min-height:22px;padding:0}.ingredient-form .slider-grid{gap:6px 12px}.ingredient-form .control{gap:3px}.ingredient-form .check-row{min-height:24px}.ingredient-form .primary-button{min-height:36px}.form-message{margin:0;padding:9px 11px;border:1px solid rgba(214,108,96,.36);border-radius:8px;color:#7a2b22;background:rgba(255,246,238,.94);font-family:Nunito,Inter,system-ui,sans-serif;font-size:12px;font-weight:900;line-height:1.25;box-shadow:0 10px 22px rgba(75,45,33,.1)}.ingredient-form.locked{opacity:.76}.check-row{display:flex!important;grid-template-columns:none;align-items:center;gap:9px!important}.check-row input{width:auto;min-height:auto}.locked-note{margin:0;color:var(--muted);font-size:13px}.catalog-workspace{order:1;padding:18px;min-width:0;overflow:hidden}.catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px) max-content;grid-gap:14px;gap:14px;margin-bottom:16px;align-items:end}.show-hidden-control{display:flex!important;min-height:40px;align-items:center;gap:8px!important;white-space:nowrap}.show-hidden-control input{width:auto;min-height:auto}.ingredient-table{display:grid;grid-gap:10px;gap:10px}.catalog-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:13px;font-weight:800}.pagination-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pagination-buttons button{min-width:36px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,250,242,.86);color:var(--coffee);font:inherit;font-size:12px;font-weight:900}.pagination-buttons button.active{border-color:var(--rose);background:var(--rose);color:#fffaf2}.ingredient-row{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(280px,1.35fr) minmax(132px,.65fr) minmax(118px,.55fr) minmax(92px,.45fr);grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.66)}.ingredient-row.hidden-ingredient{background:rgba(255,255,255,.34);opacity:.62}.ingredient-row.public{grid-template-columns:minmax(140px,.8fr) minmax(280px,1.4fr)}.ingredient-row>*{min-width:0}.ingredient-row span,.ingredient-row strong{display:block;overflow-wrap:anywhere}.aroma-cell,.cost-cell,.ingredient-row>div:first-child span{color:var(--muted);font-size:13px;font-weight:700}.personal-settings{display:grid;grid-template-columns:repeat(2,minmax(58px,1fr));grid-gap:6px;gap:6px}.personal-settings label{color:var(--muted);font-size:11px;font-weight:800}.personal-settings input{width:100%;min-height:32px;margin-top:4px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72);color:var(--ink);font:inherit;font-size:13px;font-weight:800}.ingredient-values{display:grid;grid-template-columns:repeat(3,minmax(82px,1fr));grid-gap:6px 16px;gap:6px 16px;color:var(--muted);font-size:12px;font-weight:800}.score{display:inline!important;color:var(--rose);letter-spacing:0}.aroma-value{color:var(--muted)}.availability-toggle{display:flex;align-items:center;gap:8px;justify-content:flex-start;min-height:34px;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap}.availability-toggle input{flex:0 0 auto}.row-actions{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-start}.row-actions button{display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--coffee);background:#fffaf2;font-size:18px;font-weight:900;line-height:1}.row-actions button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.muted-action{align-self:center;justify-content:flex-end;color:var(--muted);font-size:12px;font-weight:800}.plans-page{min-height:100vh;padding:120px clamp(18px,4vw,48px) 54px;background:linear-gradient(180deg,rgba(255,250,242,.78),rgba(248,239,226,1)),url(/assets/coffee-studio.png) 50% /cover fixed no-repeat}.plans-hero{max-width:920px;margin:0 auto 28px;text-align:center}.plans-hero h1{max-width:900px}.plans-hero h1,.plans-hero p{margin-left:auto;margin-right:auto}.plans-hero p{max-width:660px;color:var(--muted);font-weight:600}.plans-page-grid{max-width:1040px}.menu-page{min-height:100vh;padding:120px clamp(18px,4vw,48px) 54px;background:linear-gradient(180deg,rgba(255,250,242,.78),rgba(248,239,226,1)),url(/assets/coffee-studio.png) 50% /cover fixed no-repeat}.menu-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto 24px}.menu-hero p{max-width:640px;color:var(--muted);font-weight:600}.menu-board{max-width:1180px;margin:0 auto}.menu-empty{border:1px solid rgba(255,255,255,.62);border-radius:8px;background:rgba(255,252,246,.92);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;justify-items:center;grid-gap:12px;gap:12px;padding:54px 24px;text-align:center}.menu-empty span{font-size:52px}.menu-empty p{max-width:460px;color:var(--muted)}.guest-menu-empty{min-height:min(420px,calc(100vh - 280px));align-content:center;max-width:620px;margin:0 auto}.guest-menu-empty h2{max-width:460px;margin:0;text-align:center}.guest-menu-empty .primary-link{margin-top:4px}.menu-empty-row{display:grid;justify-items:start;grid-gap:10px;gap:10px;padding:20px 0}.menu-empty-row strong{font-size:22px}.menu-empty-row span{max-width:520px;margin:0;color:var(--muted)}.menu-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,.62);border-radius:8px;background:rgba(255,252,246,.92);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.menu-table{width:100%;min-width:760px;border-collapse:collapse}.menu-table td,.menu-table th{padding:16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.menu-table th{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.menu-table tr:last-child td{border-bottom:0}.menu-table td:first-child{width:52%}.menu-table span,.menu-table strong{display:block}.menu-table span{margin-top:4px;color:var(--muted);font-size:13px;font-weight:800}.menu-table details{margin-top:10px}.menu-table summary{color:var(--coffee);cursor:pointer;font-size:13px;font-weight:900}.menu-details{margin-top:10px;color:var(--muted);font-size:13px}.menu-details h3{margin:12px 0 6px}.menu-details ol,.menu-details ul{margin:0;padding-left:18px}.admin-page{min-height:100vh;padding:118px clamp(18px,4vw,48px) 54px;background:linear-gradient(180deg,rgba(255,250,242,.78),rgba(248,239,226,1)),url(/assets/coffee-studio.png) 50% /cover fixed no-repeat}.admin-panel{width:min(1280px,100%);margin:0 auto 22px;padding:clamp(20px,3vw,28px);border:1px solid rgba(255,255,255,.58);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-menu-panel{display:flex;align-items:end;justify-content:space-between;gap:18px}.admin-menu-panel h1{margin-bottom:0}.admin-menu{display:flex;flex-wrap:wrap;gap:8px}.admin-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:8px;color:var(--coffee);background:rgba(255,250,242,.72);font-family:Nunito,Inter,system-ui,sans-serif;font-size:13px;font-weight:900;text-decoration:none}.admin-menu a.active{border-color:var(--rose);color:#fffaf2;background:var(--rose)}.admin-panel h1{max-width:none;font-size:clamp(30px,4vw,48px)}.admin-add-form,.admin-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:18px 0 22px}.admin-add-form{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;column-gap:10px;row-gap:8px;margin:12px 0 18px}.admin-add-form label:first-of-type,.admin-add-form label:nth-of-type(2),.admin-add-form label:nth-of-type(3),.admin-add-form label:nth-of-type(4),.admin-add-form label:nth-of-type(5),.admin-add-form label:nth-of-type(6),.admin-add-form label:nth-of-type(7),.admin-add-form label:nth-of-type(8),.admin-add-form label:nth-of-type(9){grid-column:auto}.admin-add-form label:nth-of-type(3){grid-column:span 2}.admin-add-form .check-row{grid-column:6;grid-row:1}.admin-add-form .primary-button{grid-column:6;grid-row:2}.admin-add-form .admin-form-message{grid-column:1/-1;grid-row:3}.admin-add-form label,.admin-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.admin-add-form label{gap:5px;font-size:12px}.admin-add-form input,.admin-add-form select,.admin-form input,.admin-form select{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72);color:var(--ink);font:inherit}.admin-add-form input,.admin-add-form select{min-height:34px;padding:0 10px}.admin-add-form .check-row,.admin-add-form .primary-button,.admin-form .check-row,.admin-form .primary-button{align-self:end}.admin-add-form .check-row{min-height:34px;justify-content:flex-start;line-height:1.15;white-space:nowrap}.admin-add-form .check-row input{width:16px;height:16px;min-height:16px}.admin-add-form .primary-button{min-height:34px;padding:0 14px;white-space:nowrap}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{min-width:920px}.admin-users-message{margin:0 0 12px}.admin-edit-list{display:grid;grid-gap:10px;gap:10px}.admin-edit-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,.8fr) minmax(150px,1fr) 82px repeat(5,58px) 76px 120px;grid-gap:8px;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.58)}.admin-edit-row label{display:grid;grid-gap:5px;gap:5px;min-width:0;color:var(--muted);font-size:11px;font-weight:900}.admin-edit-row input,.admin-edit-row select{width:100%;min-height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72);color:var(--ink);font:inherit;font-size:13px;font-weight:800}.admin-edit-row .check-row{display:flex;gap:7px;align-items:center;min-height:36px}.admin-edit-row .check-row input{width:auto;min-height:auto}.admin-row-actions{display:flex;gap:6px;align-items:center}.admin-row-actions .icon-action{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--coffee);background:#fffaf2}.admin-row-actions .icon-action svg,.icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.danger-button{color:#7a2b22}.table-check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:900}.compact-check{justify-content:center}.rating-select{width:min(150px,100%);margin-top:10px}.admin-add-form select,.admin-edit-row select,.admin-form select,.catalog-toolbar select,.controls select,.ingredient-form select,.rating-select,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:40px;padding-right:38px;border:1px solid rgba(75,45,33,.18);border-radius:8px;color:var(--ink);background-color:rgba(255,250,242,.96);background-image:linear-gradient(45deg,transparent 50%,var(--coffee) 50%),linear-gradient(135deg,var(--coffee) 50%,transparent 50%),linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,250,242,.96));background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);font-family:Nunito,Inter,system-ui,sans-serif;font-weight:900}.admin-add-form select:hover,.admin-edit-row select:hover,.admin-form select:hover,.catalog-toolbar select:hover,.controls select:hover,.ingredient-form select:hover,.rating-select:hover,select:hover{border-color:rgba(75,45,33,.34);background-color:#fffaf2}.admin-add-form select:focus,.admin-edit-row select:focus,.admin-form select:focus,.catalog-toolbar select:focus,.controls select:focus,.ingredient-form select:focus,.rating-select:focus,select:focus{border-color:rgba(75,45,33,.48);outline:2px solid rgba(75,45,33,.12);outline-offset:2px}.rating-select option,select option{color:var(--ink);background:#fffaf2;font-family:Nunito,Inter,system-ui,sans-serif;font-weight:800}.rating-select option:checked,select option:checked{color:#fffaf2;background:linear-gradient(135deg,var(--espresso),var(--coffee))}.custom-select{position:relative;width:100%;font-family:Nunito,Inter,system-ui,sans-serif}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(75,45,33,.18);border-radius:8px;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,250,242,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font:inherit;font-weight:900;text-align:left}.custom-select-trigger:hover,.custom-select-trigger[aria-expanded=true]{border-color:rgba(75,45,33,.36);background:#fffaf2}.custom-select-trigger:focus-visible{border-color:rgba(75,45,33,.48);outline:2px solid rgba(75,45,33,.12);outline-offset:2px}.custom-select-arrow{width:0;height:0;margin-left:12px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--coffee)}.custom-select-list{position:absolute;z-index:80;top:calc(100% + 5px);left:0;right:0;max-height:260px;overflow-y:auto;padding:6px;border:1px solid rgba(75,45,33,.18);border-radius:8px;background:rgba(255,250,242,.98);box-shadow:0 18px 38px rgba(75,45,33,.18)}.custom-select-portal{position:fixed;right:auto;z-index:1000}.custom-select-option{display:block;width:100%;min-height:32px;padding:0 10px;border:0;border-radius:6px;color:var(--ink);background:transparent;font:inherit;font-weight:850;text-align:left}.custom-select-option:hover{color:var(--coffee);background:rgba(214,108,96,.1)}.custom-select-option[aria-selected=true]{color:#fffaf2;background:linear-gradient(135deg,var(--espresso),var(--coffee))}.rating-select.custom-select{width:min(150px,100%);min-height:0;margin-top:10px;padding:0;border:0;background:transparent;background-image:none;box-shadow:none}.rating-select .custom-select-trigger{min-height:38px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}@media (max-width:1225px){.admin-edit-row{grid-template-columns:repeat(12,minmax(0,1fr))}.admin-edit-row label:first-of-type,.admin-edit-row label:nth-of-type(2){grid-column:span 3}.admin-edit-row label:nth-of-type(3){grid-column:span 4}.admin-edit-row .check-row,.admin-edit-row label:nth-of-type(4),.admin-edit-row label:nth-of-type(5),.admin-edit-row label:nth-of-type(6),.admin-edit-row label:nth-of-type(7),.admin-edit-row label:nth-of-type(8),.admin-edit-row label:nth-of-type(9),.admin-row-actions{grid-column:span 2}}@media (max-width:980px){.hero{padding-top:86px}.catalog-grid,.catalog-hero,.hero-grid,.plans{grid-template-columns:1fr}.editor-layout{grid-template-columns:minmax(0,1fr) minmax(250px,320px)}.menu-hero{display:grid}.ingredient-form{order:2;position:-webkit-sticky;position:sticky}.catalog-workspace{order:1}.ingredient-row{grid-template-columns:1fr 1fr}.ingredient-values{grid-column:1/-1;grid-template-columns:repeat(3,minmax(82px,1fr))}.admin-menu-panel{align-items:flex-start;flex-direction:column}.admin-add-form,.admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-add-form .check-row,.admin-add-form .primary-button,.admin-add-form label:nth-of-type(n){grid-column:auto}.admin-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-edit-row .check-row,.admin-edit-row label:nth-of-type(n),.admin-row-actions{grid-column:auto}.section-heading{display:block}.lead{color:var(--muted);text-shadow:none}}@media (max-width:680px){.topbar{position:-webkit-sticky;position:sticky;flex-wrap:wrap}.topnav{width:100%;justify-content:space-between;gap:10px;font-size:13px}.hero{padding-top:24px}.hero-bg{opacity:.38}.admin-add-form,.admin-form,.catalog-toolbar,.editor-layout,.ingredient-row,.ingredient-values,.inline-controls,.metrics,.slider-grid{grid-template-columns:1fr}.admin-add-form .check-row,.admin-add-form .primary-button,.admin-add-form label:nth-of-type(n){grid-column:auto}.admin-edit-row{grid-template-columns:1fr}.ingredient-form{order:1;position:static}.catalog-workspace{order:2}.recipe-heading{display:grid}.actions{align-items:stretch}.primary-button{flex:1 1}}