refactor(css): consolidate and modularize stylesheets with 100% pixel-perfect verified parity
This commit is contained in:
+371
-195
@@ -1,195 +1,371 @@
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Light.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Book.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Medium.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Bold.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Black.woff2') format('woff2');
|
||||
}
|
||||
|
||||
:root {
|
||||
--ink: #050841;
|
||||
--ink-dark: #050841;
|
||||
--ink-medium: #202962;
|
||||
--ink-secondary: #3C4679;
|
||||
--muted: #8283a0;
|
||||
--muted-light: #a5a9c1;
|
||||
--paper: #ffffff;
|
||||
--card: #ffffff;
|
||||
--card-alt: #fafbfd;
|
||||
--card-paper: #f1f5fe;
|
||||
--line: #edf0f5;
|
||||
--line-subtle: #f4f5f8;
|
||||
--line-focus: #3d5df6;
|
||||
--blue: #3d5df6;
|
||||
--blue-hover: #1236e1;
|
||||
--blue-active: #001992;
|
||||
--blue-light: #647df8;
|
||||
--blue-tint: #f1f5fe;
|
||||
--blue-badge: #dbe4ff;
|
||||
--green: #40b49a;
|
||||
--green-dark: #20ab85;
|
||||
--green-tint: #abddd1;
|
||||
--orange: #f3a642;
|
||||
--red: #f63d48;
|
||||
--red-dark: #bc0020;
|
||||
--red-tint: #fff5f6;
|
||||
--purple: #6234f2;
|
||||
--pink-badge: #ffd2f5;
|
||||
--serif: "CircularCustCapNum", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||
--sans: "CircularCustCapNum", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
|
||||
html {
|
||||
background: var(--paper);
|
||||
color: var(--ink);
|
||||
font-family: var(--sans);
|
||||
scroll-behavior: smooth;
|
||||
scrollbar-gutter: stable;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
body, button, input, select, textarea {
|
||||
font-family: var(--sans);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
body { margin: 0; min-height: 100vh; }
|
||||
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
|
||||
.shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
|
||||
|
||||
/* Sticky Detail Utility Header */
|
||||
.detail-utility {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 48px;
|
||||
background: #ffffff;
|
||||
border-bottom: 1px solid #ececec;
|
||||
z-index: 100;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 16px;
|
||||
}
|
||||
.detail-utility-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.detail-utility-home-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
text-decoration: none;
|
||||
color: #050841;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
.detail-utility-divider {
|
||||
color: #a5a9c1;
|
||||
font-size: 13px;
|
||||
}
|
||||
.detail-utility-crumb {
|
||||
color: #050841;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.detail-utility-right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.detail-search-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: #ffffff;
|
||||
border: 1px solid #ececec;
|
||||
border-radius: 4px;
|
||||
padding: 4px 10px;
|
||||
width: 360px;
|
||||
}
|
||||
.detail-search-bar svg {
|
||||
color: #8283a0;
|
||||
}
|
||||
.detail-search-bar input {
|
||||
border: none;
|
||||
background: transparent;
|
||||
outline: none;
|
||||
font-size: 13px;
|
||||
color: #050841;
|
||||
width: 100%;
|
||||
}
|
||||
.detail-search-bar input::placeholder {
|
||||
color: #8283a0;
|
||||
}
|
||||
|
||||
.visually-hidden {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
min-height: 64px;
|
||||
padding-inline: max(16px, calc((100vw - 1180px) / 2));
|
||||
background: rgba(255, 255, 255, .96);
|
||||
box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.brand {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
.brand img { width: 28px; height: 28px; }
|
||||
nav { display: flex; gap: 20px; }
|
||||
nav a { font-size: .875rem; text-decoration: none; color: var(--muted); }
|
||||
nav a:hover { color: var(--ink); }
|
||||
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Light.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Book.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Medium.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Bold.woff2') format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'CircularCustCapNum';
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
src: url('/fonts/circular/CircularCustCapNum-Black.woff2') format('woff2');
|
||||
}
|
||||
|
||||
:root {
|
||||
--ink: #050841;
|
||||
--ink-dark: #050841;
|
||||
--ink-medium: #202962;
|
||||
--ink-secondary: #3C4679;
|
||||
--muted: #8283a0;
|
||||
--muted-light: #a5a9c1;
|
||||
--paper: #ffffff;
|
||||
--card: #ffffff;
|
||||
--card-alt: #fafbfd;
|
||||
--card-paper: #f1f5fe;
|
||||
--line: #edf0f5;
|
||||
--line-subtle: #f4f5f8;
|
||||
--line-focus: #3d5df6;
|
||||
--blue: #3d5df6;
|
||||
--blue-hover: #1236e1;
|
||||
--blue-active: #001992;
|
||||
--blue-light: #647df8;
|
||||
--blue-tint: #f1f5fe;
|
||||
--blue-badge: #dbe4ff;
|
||||
--green: #40b49a;
|
||||
--green-dark: #20ab85;
|
||||
--green-tint: #abddd1;
|
||||
--orange: #f3a642;
|
||||
--red: #f63d48;
|
||||
--red-dark: #bc0020;
|
||||
--red-tint: #fff5f6;
|
||||
--purple: #6234f2;
|
||||
--pink-badge: #ffd2f5;
|
||||
--serif: "CircularCustCapNum", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||
--sans: "CircularCustCapNum", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||
}
|
||||
* { box-sizing:border-box; }
|
||||
html {
|
||||
background: var(--paper);
|
||||
color: var(--ink);
|
||||
font-family: var(--sans);
|
||||
scroll-behavior: smooth;
|
||||
scrollbar-gutter: stable;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
body, button, input, select, textarea {
|
||||
font-family: var(--sans);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
body { margin:0; min-height:100vh; }
|
||||
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.2em; }
|
||||
.shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
|
||||
.site-header { min-height:76px; padding:0 max(20px,calc((100vw - 1160px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(244,240,231,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
|
||||
.brand { display:flex; gap:12px; align-items:center; font-family:var(--serif); font-size:1.15rem; font-weight:600; text-decoration:none; }
|
||||
.brand img { width:31px; height:31px; }
|
||||
nav { display:flex; gap:24px; }
|
||||
nav a { text-decoration:none; color:var(--muted); font-size:.9rem; font-weight:600; }
|
||||
nav a:hover { color:var(--ink); }
|
||||
main { min-height:calc(100vh - 150px); }
|
||||
h1,h2,h3 { font-family:var(--serif); line-height:1.08; margin-top:0; }
|
||||
h1 { font-size:clamp(3rem,7vw,6.4rem); letter-spacing:-.045em; }
|
||||
h2 { font-size:clamp(2rem,4vw,3.4rem); letter-spacing:-.03em; }
|
||||
h3 { font-size:1.35rem; }
|
||||
p { line-height:1.65; }
|
||||
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:600; color:var(--orange); margin:0 0 14px; }
|
||||
.button { display:inline-flex; padding:13px 20px; border:1px solid var(--ink); text-decoration:none; font-weight:600; font-size:.9rem; }
|
||||
.button.primary { color:var(--paper); background:var(--green); border-color:var(--green); }
|
||||
.section-block { padding-block:80px; }
|
||||
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:32px; }
|
||||
.section-heading h2 { margin-bottom:0; }
|
||||
.recipe-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
|
||||
.recipe-card { min-height:245px; padding:25px; border:1px solid var(--line); background:var(--card); display:flex; flex-direction:column; }
|
||||
.recipe-card h2 { font-size:1.65rem; margin:35px 0 10px; }
|
||||
.recipe-card h2 a { text-decoration:none; }
|
||||
.recipe-card p { color:var(--muted); font-size:.92rem; margin-top:0; }
|
||||
.card-topline { display:flex; justify-content:space-between; text-transform:uppercase; font-size:.68rem; letter-spacing:.1em; color:var(--muted); }
|
||||
.tag-row { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:auto; }
|
||||
.tag-row a { color:var(--green); font-size:.78rem; text-decoration:none; }
|
||||
.page-heading { padding-block:85px 50px; border-bottom:1px solid var(--line); }.page-heading h1 { margin-bottom:15px; }.page-heading p:last-child { color:var(--muted); font-size:1.05rem; }
|
||||
.taxonomy-grid { padding-block:50px 90px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.taxonomy-grid a { display:flex; flex-direction:column; gap:8px; padding:25px; border:1px solid var(--line); background:var(--card); text-decoration:none; }.taxonomy-grid span { color:var(--muted); font-size:.85rem; }
|
||||
.tag-cloud { padding-block:50px 90px; display:flex; gap:12px; flex-wrap:wrap; }.tag-cloud a { padding:10px 14px; border:1px solid var(--line); background:var(--card); text-decoration:none; }.tag-cloud small { color:var(--muted); margin-left:4px; }
|
||||
.recipe-page { padding-block:70px 100px; }.recipe-header { display:grid; grid-template-columns:1fr 280px; gap:80px; align-items:end; padding-bottom:55px; border-bottom:1px solid var(--line); }.recipe-header h1 { font-size:clamp(3rem,6vw,5.6rem); margin:18px 0; }.recipe-kicker { display:flex; gap:20px; text-transform:uppercase; color:var(--muted); letter-spacing:.12em; font-size:.7rem; }.recipe-facts { margin:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--ink); }.recipe-facts div { padding:17px 5px; border-bottom:1px solid var(--line); }.recipe-facts dt { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }.recipe-facts dd { margin:5px 0 0; font-weight:600; }
|
||||
.workspace-command-bar { display:flex; align-items:center; gap:.75rem; margin-bottom:2rem; }.workspace-command-bar .back-link { margin-right:auto; }.mode-indicator { padding:.45rem .7rem; color:var(--muted); background:var(--card); border:1px solid var(--line); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }.mode-indicator.editing { color:#8b321f; background:#f3dfd4; }.primary-command { padding:.65rem .9rem; color:white; background:var(--green); text-decoration:none; font-weight:700; }.recipe-task-tabs { position:sticky; top:0; z-index:2; display:flex; gap:1.25rem; overflow-x:auto; margin-top:1.5rem; padding:.85rem 0; background:var(--paper); border-bottom:1px solid var(--line); }.recipe-task-tabs a { white-space:nowrap; color:var(--green); text-decoration:none; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
|
||||
.notice { margin-top:28px; padding:16px 20px; border-left:4px solid var(--orange); background:#f3dfd4; }
|
||||
.calculator { margin-top:65px; }.calculator-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:25px; }.calculator-heading h2 { margin:0; }.basis-input { display:flex; flex-direction:column; gap:7px; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }.input-with-unit { display:flex; align-items:center; border-bottom:1px solid var(--ink); color:var(--ink); }.input-with-unit input { width:120px; padding:8px 5px; border:0; background:transparent; font:600 1.1rem var(--sans); color:var(--ink); outline:none; }
|
||||
.quantity-control { display:inline-flex; align-items:center; border-bottom:1px solid var(--ink); }.quantity-control input { width:9rem; padding:.55rem .3rem; border:0; background:transparent; color:var(--ink); font:600 1.05rem var(--sans); }.quantity-control select { padding:.55rem .3rem; border:0; background:transparent; color:var(--green); font-weight:700; cursor:pointer; }.line-quantity { display:grid; grid-template-columns:7rem 6rem; justify-content:end; border-bottom:0; }.line-quantity input { width:100%; text-align:right; }.line-quantity select { width:100%; text-align:left; }
|
||||
.formula-component { margin-top:30px; }.table-wrap { overflow-x:auto; } table { width:100%; border-collapse:collapse; } th,td { padding:14px 10px; border-bottom:1px solid var(--line); text-align:left; } th:not(:first-child),td:not(:first-child) { text-align:right; } th { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }.recipe-ingredients { table-layout:fixed; }.recipe-ingredients th:first-child,.recipe-ingredients td:first-child { text-align:left; }.recipe-ingredients th:nth-last-child(2):not(:first-child),.recipe-ingredients td:nth-last-child(2):not(:first-child) { width:8rem; text-align:right; }.recipe-ingredients th:last-child,.recipe-ingredients td:last-child { width:14rem; text-align:right; }.basis-row td:first-child { color:var(--green); font-weight:600; }td small { display:block; color:var(--muted); margin-top:3px; }.muted { color:var(--muted); font-size:.75em; }.formula-total { display:flex; justify-content:flex-end; gap:60px; padding:20px 10px; background:var(--green); color:white; }
|
||||
.derived-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap:1rem; margin-top:2rem; }.derived-card { padding:1.15rem; background:var(--card); border:1px solid var(--line); }.derived-title { display:flex; justify-content:space-between; gap:1rem; align-items:end; padding-bottom:.6rem; border-bottom:3px solid var(--green); }.derived-title h3,.derived-title p { margin:0; }.derived-title > strong { font-size:.75rem; }.derived-card dl { margin:0; }.derived-card dl div { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; border-bottom:1px solid var(--line); }.derived-card dt,.derived-card dd { margin:0; }.derived-card dd { font-weight:700; }.derived-batch { display:flex; justify-content:space-between; gap:1rem; }.derived-warning { color:#8b321f; font-size:.8rem; font-weight:700; }
|
||||
.nutrition-wrap { margin:0; }.nutrition-label { padding:.45rem .55rem .55rem; color:#111; background:#fff; border:1px solid #111; font-family:Arial,Helvetica,sans-serif; line-height:1.05; }.nutrition-title { display:block; border-bottom:.65rem solid #111; padding-bottom:.3rem; }.nutrition-title h2 { margin:0; font-family:Arial Black,Arial,Helvetica,sans-serif; font-size:2.65rem; line-height:.95; letter-spacing:-.12rem; }.nutrition-title p { margin:.18rem 0; font-size:.9rem; }.serving-size { display:flex; justify-content:space-between; gap:1rem; padding-top:.25rem; border-top:1px solid #111; font-size:1rem; }.amount-heading,.dv-heading { margin:0; font-size:.72rem; font-weight:700; }.calorie-row { display:flex; justify-content:space-between; align-items:end; border-bottom:.35rem solid #111; font-size:2rem; line-height:1; padding:.15rem 0; }.calorie-row strong:first-child { font-size:1.25rem; }.dv-heading { padding:.2rem 0; text-align:right; border-bottom:1px solid #111; }.nutrition-facts { margin:0; }.nutrition-facts div { display:flex; justify-content:space-between; gap:1rem; padding:.22rem .05rem; border-bottom:1px solid #777; font-size:.9rem; }.nutrition-facts dt,.nutrition-facts dd { margin:0; }.nutrition-facts dd { font-weight:700; }.nutrition-facts .protein { border-bottom:.35rem solid #111; }.dv-footnote { margin:.35rem 0 0; padding-left:.65rem; text-indent:-.55rem; font-size:.68rem; line-height:1.2; }.nutrition-source { margin:.75rem 0 0; font-size:.78rem; color:var(--muted); }
|
||||
.preparation,.notes { width:min(780px,100%); margin-top:80px; }.preparation ol { list-style:none; counter-reset:steps; padding:0; }.preparation li { counter-increment:steps; position:relative; padding:22px 0 22px 62px; border-top:1px solid var(--line); line-height:1.65; }.preparation li::before { content:counter(steps,decimal-leading-zero); position:absolute; left:5px; top:24px; color:var(--orange); font-size:.76rem; font-weight:600; }.preparation li.placeholder { color:var(--orange); }.notes ul { padding-left:20px; }.notes li { margin:10px 0; line-height:1.6; }
|
||||
.equipment-list { width:min(780px,100%); margin-top:60px; }.equipment-list h2 { margin-top:0; }.equipment-list ul { display:flex; flex-wrap:wrap; gap:.6rem; padding:0; list-style:none; }.equipment-list li { padding:.7rem .9rem; background:var(--card); border:1px solid var(--line); }.equipment-list small { display:block; max-width:18rem; margin-top:.2rem; color:var(--muted); }.step-equipment { display:block; margin-top:.35rem; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
|
||||
.additional-details { width:min(780px,100%); margin-top:80px; }.additional-details h2 { margin-top:0; }.additional-details dl { margin:0; border-top:1px solid var(--ink); }.additional-details dl > div { display:grid; grid-template-columns:10rem 1fr; gap:1rem; padding:1rem .3rem; border-bottom:1px solid var(--line); }.additional-details dt { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }.additional-details dd { margin:0; font-weight:600; }.additional-details dd small { display:block; margin-top:.25rem; color:var(--muted); font-weight:400; }.additional-details ul { margin:0; padding:0; list-style:none; }.additional-details li + li { margin-top:.4rem; }
|
||||
.prose { max-width:850px; padding-block:80px 110px; }.prose h1 { font-size:clamp(3rem,6vw,5rem); }.prose h2 { font-size:2rem; margin-top:50px; }.prose p { color:var(--muted); }
|
||||
.review-toolbar { position:sticky; top:0; z-index:3; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; padding:1rem; margin-bottom:2rem; background:var(--paper); border:1px solid var(--line); box-shadow:0 .5rem 1rem rgba(30,35,25,.08); }.review-toolbar div { margin-right:auto; }.review-toolbar small { display:block; color:var(--muted); }.review-toolbar input[type="search"],.review-toolbar button,.basis-input select { padding:.65rem .8rem; border:1px solid var(--line); background:var(--card); color:var(--ink); }.review-toolbar button { cursor:pointer; background:var(--green); color:white; font-weight:700; }.candidate-card { margin:0 0 1.5rem; padding:1.2rem; border:1px solid var(--line); background:var(--card); }.candidate-card legend { padding:0 .5rem; font:600 1.4rem var(--serif); }.candidate-card code { color:var(--muted); font:400 .72rem var(--sans); }.candidate-choice { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; padding:.8rem; border-bottom:1px solid var(--line); cursor:pointer; }.candidate-choice:has(input:checked) { background:#dce6d9; outline:2px solid var(--green); }.candidate-choice small { display:block; margin-top:.2rem; color:var(--muted); }.candidate-choice a { font-size:.78rem; }.candidate-choice.none { border-bottom:0; }
|
||||
.product-meta { color:var(--muted); font-size:.82rem; text-transform:capitalize; }
|
||||
.other-choice { display:flex; gap:1rem; align-items:center; justify-content:space-between; padding:.8rem; border-bottom:1px solid var(--line); }.other-choice select { min-width:min(25rem,55vw); padding:.6rem; border:1px solid var(--line); background:var(--paper); }
|
||||
.quality-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr)); gap:1rem; padding-bottom:1rem; }.quality-summary article { display:flex; flex-direction:column; padding:1.1rem; background:var(--card); border:1px solid var(--line); }.quality-summary strong { font:600 2.25rem var(--serif); color:var(--green); }.quality-summary span { color:var(--muted); font-size:.78rem; }.quality-table td:first-child { text-align:left; }.quality-table small { display:block; }.quality-table td:not(:first-child) { font-size:.82rem; }
|
||||
.app-launcher { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; padding-bottom:6rem; }.app-launcher a { position:relative; min-height:14rem; padding:1.4rem; color:var(--ink); background:var(--card); border:1px solid var(--line); text-decoration:none; }.app-launcher h2 { margin:.45rem 0; }.app-launcher strong { position:absolute; top:1.2rem; right:1.2rem; font:600 1.5rem var(--serif); color:var(--green); }.app-launcher p { color:var(--muted); }.entity-list { padding-bottom:6rem; }.entity-list-head,.entity-list > a { display:grid; grid-template-columns:minmax(16rem,2fr) repeat(3,minmax(6rem,1fr)); align-items:center; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid var(--line); }.entity-list-head { color:var(--muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }.entity-list > a { color:var(--ink); text-decoration:none; }.entity-list > a:hover { background:var(--card); }.entity-list small { display:block; color:var(--muted); }.empty-state { padding:3rem; text-align:center; background:var(--card); border:1px solid var(--line); }
|
||||
.ingredient-list-tools { display:flex; justify-content:flex-end; padding-block:1rem; }.filter-menu { position:relative; }.filter-menu summary { padding:.65rem .85rem; color:white; background:var(--green); cursor:pointer; font-weight:700; list-style:none; }.filter-menu summary::-webkit-details-marker { display:none; }.filter-menu form { position:absolute; z-index:4; right:0; width:min(20rem,calc(100vw - 2rem)); padding:1rem; background:var(--card); border:1px solid var(--line); box-shadow:0 .75rem 2rem rgba(30,35,25,.14); }.filter-menu label { display:flex; align-items:center; gap:.55rem; padding:.35rem 0; }.filter-menu fieldset { margin:.75rem 0; padding:.75rem; border:1px solid var(--line); }.filter-menu legend { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }.filter-menu form > div { display:flex; align-items:center; gap:1rem; }.filter-menu button { padding:.6rem .8rem; color:white; background:var(--green); border:0; cursor:pointer; font-weight:700; }.ingredient-entity-list .entity-list-head,.ingredient-entity-list > a { grid-template-columns:minmax(16rem,1fr) 7rem; }.attention-reasons { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.4rem; }.attention-reasons em { padding:.18rem .4rem; color:#8b321f; background:#f3dfd4; font-size:.68rem; font-style:normal; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
|
||||
.directory-workspace { padding-block:28px 72px; }.workspace-pills { display:flex; align-items:center; flex-wrap:wrap; gap:10px; overflow:visible; padding:0 0 28px; }.workspace-pills > a { display:inline-flex; align-items:center; gap:8px; flex:none; min-height:42px; padding:7px 13px; color:rgba(0,0,0,0.87); background:white; border:1px solid #e5e7ef; border-radius:999px; text-decoration:none; font-weight:400; box-shadow:0 1px 2px rgba(15,23,42,.03); }.workspace-pills > a.active { background:#DBE4FF; border-color:#DBE4FF; }.workspace-pills > a small { color:#a0a7ba; font-size:.8rem; font-weight:500; }.workspace-pill-icon { display:grid; place-items:center; width:22px; height:22px; color:white; background:#48558d; border-radius:50%; font-size:.7rem; }.workspace-pill-icon.ingredient,.workspace-pill-icon.purchase { background:#489d96; }.workspace-pill-icon.book { background:#6847ed; }.workspace-pills .filter-menu { flex:none; margin-left:auto; }.workspace-pills .filter-menu summary { color:#172033; background:transparent; white-space:nowrap; }.ingredient-directory { overflow:hidden; background:white; border:1px solid #eef0f5; }.ingredient-selection-bar { display:grid; grid-template-columns:28px 1fr auto; align-items:center; min-height:58px; gap:18px; padding:0 22px; border-bottom:1px solid #eef0f5; }.ingredient-selection-bar input,.ingredient-directory-row > input { width:17px; height:17px; margin:0; accent-color:#4868f7; }.ingredient-selection-bar strong { color:#5366fa; font-size:.9rem; }.ingredient-selection-bar button { color:#64748b; background:transparent; border:0; cursor:pointer; }.ingredient-directory-row { display:grid; grid-template-columns:28px 34px minmax(14rem,1fr) 10rem 28px; align-items:center; min-height:60px; gap:18px; padding:0 22px; border-bottom:1px solid #eef0f5; }.ingredient-directory-row:last-child { border-bottom:0; }.ingredient-directory-row:hover { background:#f8faff; }.ingredient-directory-row.selected { background:#edf2ff; }.ingredient-type-icon { display:grid; place-items:center; width:26px; height:26px; color:white; background:#489d96; border-radius:50%; font-size:.65rem; }.ingredient-directory-name { color:#111a49; text-decoration:none; }.ingredient-directory-name strong { font-size:.9rem; }.ingredient-directory-name small { display:flex; gap:5px; margin-top:3px; }.ingredient-directory-name em { padding:2px 5px; color:#9a3412; background:#fff0e8; border-radius:3px; font-size:.62rem; font-style:normal; font-weight:700; text-transform:uppercase; }.ingredient-usage { color:#8b93a7; font-size:.82rem; text-align:right; }.ingredient-row-menu { color:#a0a7ba; font-size:1.45rem; line-height:1; text-align:center; text-decoration:none; }
|
||||
.workspace-directory-list { overflow:hidden; background:white; border:1px solid #eef0f5; }.workspace-directory-heading,.workspace-directory-row { display:grid; grid-template-columns:34px minmax(16rem,1fr) 9rem 10rem 28px; align-items:center; gap:18px; padding:0 22px; }.workspace-directory-heading { min-height:42px; color:#8b93a7; border-bottom:1px solid #eef0f5; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }.workspace-directory-heading strong { grid-column:2; }.workspace-directory-row { min-height:64px; color:#111a49; border-bottom:1px solid #eef0f5; text-decoration:none; }.workspace-directory-row:last-child { border-bottom:0; }.workspace-directory-row:hover { background:#f8faff; }.workspace-directory-row > span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }.workspace-directory-row small { overflow:hidden; color:#8b93a7; text-overflow:ellipsis; white-space:nowrap; }.workspace-directory-row b { color:#a0a7ba; font-size:1.35rem; text-align:center; }.workspace-directory-heading:has(+ .books),.workspace-directory-row.books { grid-template-columns:34px minmax(16rem,1fr) 9rem 28px; }.workspace-directory-heading:has(+ .purchases),.workspace-directory-row.purchases { grid-template-columns:34px minmax(14rem,1fr) minmax(10rem,1fr) 9rem 7rem 28px; }
|
||||
.workspace-search-tools { display:flex; align-items:flex-start; gap:10px; margin-bottom:18px; }.workspace-global-search { display:flex; align-items:center; gap:10px; flex:1; max-width:680px; min-height:44px; padding:0 14px; background:white; border:1px solid #dfe3ec; border-radius:7px; }.workspace-global-search:focus-within { border-color:#7185ec; box-shadow:0 0 0 3px #e9efff; }.workspace-global-search > span { color:#818aa0; font-size:1.35rem; }.workspace-global-search input[type="search"] { flex:1; min-width:0; padding:10px 0; color:#111a49; background:transparent; border:0; outline:0; font:inherit; }.workspace-global-search a { color:#818aa0; font-size:1.35rem; text-decoration:none; }.search-type-filter { position:relative; }.search-type-filter summary { min-height:44px; padding:11px 14px; color:#172033; background:white; border:1px solid #dfe3ec; border-radius:7px; cursor:pointer; font-weight:700; list-style:none; white-space:nowrap; }.search-type-filter summary::-webkit-details-marker { display:none; }.search-type-filter form { position:absolute; z-index:5; right:0; width:220px; padding:12px; background:white; border:1px solid #dfe3ec; border-radius:7px; box-shadow:0 .75rem 2rem rgba(30,35,25,.14); }.search-type-filter label { display:flex; align-items:center; gap:8px; padding:6px 2px; }.search-type-filter form > div { display:flex; align-items:center; gap:12px; margin-top:10px; }.search-type-filter button { padding:7px 10px; color:white; background:#48558d; border:0; border-radius:5px; cursor:pointer; font-weight:700; }.workspace-search-results > p { color:#687086; font-size:.86rem; }.workspace-search-results > div { overflow:hidden; background:white; border:1px solid #eef0f5; }.workspace-search-results > div > a { display:grid; grid-template-columns:34px minmax(12rem,1fr) 9rem 24px; align-items:center; gap:16px; min-height:62px; padding:0 22px; color:#111a49; border-bottom:1px solid #eef0f5; text-decoration:none; }.workspace-search-results > div > a:last-child { border-bottom:0; }.workspace-search-results > div > a:hover { background:#f8faff; }.workspace-search-results > div > a > span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }.workspace-search-results small { overflow:hidden; color:#8b93a7; text-overflow:ellipsis; white-space:nowrap; }.workspace-search-results em { color:#8b93a7; font-size:.75rem; font-style:normal; text-align:right; text-transform:uppercase; }.workspace-search-results b { color:#a0a7ba; font-size:1.3rem; }
|
||||
.workspace-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }.workspace-tabs a { padding:.55rem .75rem; color:var(--ink); background:var(--card); border:1px solid var(--line); text-decoration:none; }.ingredient-workspace { display:grid; gap:1.25rem; padding-bottom:6rem; }.workspace-panel { scroll-margin-top:1rem; padding:1.25rem; background:var(--card); border:1px solid var(--line); }.workspace-panel h2 { margin-top:0; }.workspace-panel > label { display:grid; grid-template-columns:minmax(9rem,1fr) 3fr; gap:1rem; align-items:center; margin:.75rem 0; color:var(--muted); }.workspace-panel input,.workspace-panel textarea,.workspace-panel select { padding:.65rem; color:var(--ink); background:var(--paper); border:1px solid var(--line); font:1rem var(--sans); }.inline-form { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }.inline-form button { padding:.7rem; color:white; background:var(--green); border:1px solid var(--green); cursor:pointer; }.purchase-row { display:grid; grid-template-columns:minmax(12rem,1fr) auto auto; gap:1rem; align-items:center; padding:.7rem 0; border-bottom:1px solid var(--line); }.purchase-row small { display:block; color:var(--muted); }
|
||||
.panel-intro { color:var(--muted); }.ingredient-nutrition { margin-top:1rem; padding:1rem; background:var(--paper); border:1px solid var(--line); }.nutrition-mapping-head { display:flex; justify-content:space-between; gap:1rem; align-items:start; padding-bottom:.75rem; border-bottom:3px solid var(--green); }.nutrition-mapping-head small { display:block; margin-top:.2rem; color:var(--muted); text-transform:capitalize; }.nutrition-mapping-head a { white-space:nowrap; }.ingredient-nutrition dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); margin:0; }.ingredient-nutrition dl div { display:flex; justify-content:space-between; gap:1rem; padding:.55rem; border-bottom:1px solid var(--line); }.ingredient-nutrition dt,.ingredient-nutrition dd { margin:0; }.ingredient-nutrition dd { font-weight:700; }.ingredient-nutrition footer { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding-top:.75rem; color:var(--muted); font-size:.72rem; }
|
||||
.purchase-editor { border-top:1px solid var(--line); }.purchase-editor:last-child { border-bottom:1px solid var(--line); }.purchase-editor > summary { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem .25rem; cursor:pointer; }.purchase-editor > summary > span:last-child { text-align:right; }.purchase-editor summary small { display:block; margin-top:.2rem; color:var(--muted); }.add-purchase > summary { color:var(--green); font-weight:700; }.purchase-item-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; padding:1rem; margin-bottom:1rem; background:var(--paper); border:1px solid var(--line); }.purchase-item-form label { display:flex; flex-direction:column; gap:.3rem; min-width:0; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }.purchase-item-form .purchase-name { grid-column:span 2; }.purchase-item-form input,.purchase-item-form select { width:100%; }.input-suffix { display:flex; align-items:center; }.input-suffix input { min-width:0; }.input-suffix > span { padding:.65rem; color:var(--ink); background:var(--card); border:1px solid var(--line); border-left:0; }.purchase-rate { grid-column:span 3; display:flex; align-items:center; gap:1rem; margin:0; padding:.65rem; background:var(--card); }.purchase-rate span { color:var(--muted); }.purchase-form-actions { display:flex; justify-content:flex-end; align-items:end; }.purchase-form-actions button { padding:.7rem; color:white; background:var(--green); border:1px solid var(--green); cursor:pointer; font-weight:700; }.price-history { grid-column:1/-1; }.price-history summary { cursor:pointer; color:var(--green); font-size:.8rem; font-weight:700; }.price-history table { margin-top:.5rem; }.price-history td { padding:.4rem; font-size:.8rem; }.price-history td:last-child { text-align:right; }
|
||||
.usda-id-form { display:flex; flex-wrap:wrap; gap:.65rem; align-items:end; }.usda-id-form label { display:flex; flex-direction:column; gap:.35rem; }.usda-id-form input { min-width:15rem; }.usda-id-form button { padding:.7rem; color:white; background:var(--green); border:1px solid var(--green); cursor:pointer; }.usda-id-form a { padding:.65rem 0; }
|
||||
.editor-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(16rem,1fr); gap:2rem; padding-bottom:6rem; }.editor-form fieldset { display:grid; gap:1rem; margin:0 0 1.5rem; padding:1.25rem; border:1px solid var(--line); background:var(--card); }.editor-form legend { padding:0 .5rem; font:600 1.35rem var(--serif); }.editor-form label { display:flex; flex-direction:column; gap:.4rem; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; }.editor-form input,.editor-form textarea,.editor-form select { width:100%; padding:.7rem; color:var(--ink); background:var(--paper); border:1px solid var(--line); font:1rem var(--sans); text-transform:none; letter-spacing:normal; }.editor-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.editor-actions { display:flex; flex-wrap:wrap; gap:.75rem; }.editor-actions button { padding:.8rem 1rem; border:1px solid var(--green); background:var(--green); color:white; font-weight:700; cursor:pointer; }.editor-actions .secondary { background:transparent; color:var(--green); }.success-notice { margin-bottom:1rem; padding:1rem; color:#204f31; background:#dcebdc; border-left:4px solid #39734c; }
|
||||
.structure-editor button { padding:.55rem .7rem; border:1px solid var(--line); background:var(--card); cursor:pointer; }.structure-editor .section-heading > button,.add-line button { color:white; background:var(--green); }.component-editor { margin:0 0 1.5rem; padding:1rem; border:1px solid var(--line); }.component-editor legend { padding:0 .5rem; font:600 1.25rem var(--serif); }.editor-inline,.add-line { display:flex; gap:.5rem; margin-bottom:1rem; }.editor-inline input,.add-line select,.editor-items input[type="number"],.editor-items select,.method-editor textarea { width:100%; padding:.55rem; color:var(--ink); background:var(--paper); border:1px solid var(--line); }.editor-inline input { font-weight:700; }.editor-items { min-width:60rem; table-layout:fixed; }.editor-items th,.editor-items td { vertical-align:middle; text-align:left; }.editor-items th:nth-child(2),.editor-items td:nth-child(2) { width:7rem; text-align:right; }.editor-items td:nth-child(2) input { text-align:right; }.editor-items th:nth-child(3),.editor-items td:nth-child(3) { width:12rem; }.editor-items th:nth-child(4),.editor-items td:nth-child(4) { width:9rem; }.editor-items th:nth-child(5),.editor-items td:nth-child(5) { width:6rem; text-align:center; }.editor-items th:last-child,.editor-items td:last-child { width:8.5rem; text-align:right; }.editor-items input[type="number"],.editor-items select { min-width:0; }.editor-items td:last-child .row-actions button { width:2.1rem; height:2.1rem; padding:0; }.row-actions { display:flex; gap:.25rem; justify-content:flex-end; }.structure-editor button.danger { color:#8b321f; }.inline-check { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; white-space:nowrap; font-size:.76rem; }.inline-check input { width:auto; min-width:0; margin:0; }.secondary-action { margin-bottom:1.5rem; }.method-editor ol { padding:0; list-style:none; counter-reset:method; }.method-editor li { display:grid; grid-template-columns:1fr auto; gap:.5rem; margin-bottom:.75rem; counter-increment:method; }.method-editor li::before { content:counter(method); display:none; }
|
||||
.editor-entity-link { color:var(--green); text-decoration-thickness:1px; text-underline-offset:3px; }
|
||||
@media (max-width:900px) { .recipe-grid,.taxonomy-grid { grid-template-columns:repeat(2,1fr); }.recipe-header { grid-template-columns:1fr; gap:25px; }.recipe-facts { max-width:500px; }.purchase-item-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
|
||||
@media (max-width:620px) { .site-header { align-items:flex-start; padding-block:17px; }.site-header nav { gap:8px 14px; flex-wrap:wrap; justify-content:flex-end; }.brand span { display:none; }.recipe-grid,.taxonomy-grid { grid-template-columns:1fr; }.calculator-heading { align-items:flex-start; gap:25px; flex-direction:column; }.formula-total { justify-content:space-between; gap:15px; }.recipe-page { padding-top:45px; }.recipe-header h1 { font-size:3.2rem; }.entity-list-head { display:none; }.entity-list > a { grid-template-columns:1fr 1fr; }.editor-layout { grid-template-columns:1fr; }.workspace-panel > label { grid-template-columns:1fr; }.purchase-row { grid-template-columns:1fr; }.purchase-item-form { grid-template-columns:1fr; }.purchase-item-form .purchase-name,.purchase-rate { grid-column:auto; }.purchase-editor > summary { align-items:flex-start; }.purchase-editor > summary > span:last-child { text-align:left; } }
|
||||
|
||||
/* Conventional application theme */
|
||||
html { line-height:1.5; }
|
||||
body { background:var(--paper); }
|
||||
.shell { width:min(1180px,calc(100% - 32px)); }
|
||||
.site-header { min-height:64px; padding-inline:max(16px,calc((100vw - 1180px)/2)); background:rgba(255,255,255,.96); box-shadow:0 1px 2px rgba(15,23,42,.04); }
|
||||
.brand { gap:10px; font-size:1rem; font-weight:700; }
|
||||
.brand img { width:28px; height:28px; }
|
||||
nav { gap:20px; }
|
||||
nav a { font-size:.875rem; }
|
||||
h1,h2,h3 { font-family:var(--sans); line-height:1.2; letter-spacing:-.02em; }
|
||||
h1 { font-size:clamp(2rem,4vw,3rem); }
|
||||
h2 { font-size:clamp(1.5rem,2.5vw,2rem); }
|
||||
h3 { font-size:1.125rem; }
|
||||
.eyebrow { margin-bottom:8px; color:var(--muted); font-size:.7rem; letter-spacing:.1em; }
|
||||
.button,.primary-command { border-radius:6px; }
|
||||
.button { padding:10px 16px; font-size:.875rem; }
|
||||
.button.primary,.primary-command { background:var(--green); border-color:var(--green); }
|
||||
.section-block { padding-block:48px; }
|
||||
.section-heading { margin-bottom:20px; align-items:center; }
|
||||
.recipe-grid { gap:16px; }
|
||||
.recipe-card,.taxonomy-grid a,.candidate-card,.workspace-panel,.derived-card,.app-launcher a { border-radius:8px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
|
||||
.recipe-card { min-height:190px; padding:20px; }
|
||||
.recipe-card h2 { margin:24px 0 8px; font-size:1.25rem; }
|
||||
.page-heading { padding-block:48px 28px; }
|
||||
.page-heading h1 { margin-bottom:8px; }
|
||||
.page-heading p:last-child { font-size:.95rem; }
|
||||
.recipe-page { padding-block:48px 72px; }
|
||||
.recipe-header { grid-template-columns:1fr 260px; gap:48px; padding-bottom:36px; }
|
||||
.recipe-header h1 { margin:12px 0; font-size:clamp(2rem,4vw,3rem); }
|
||||
.workspace-command-bar { margin-bottom:1.25rem; }
|
||||
.mode-indicator,.workspace-tabs a,.primary-command { border-radius:6px; }
|
||||
.recipe-task-tabs { top:64px; background:rgba(248,250,252,.96); }
|
||||
.calculator { margin-top:44px; }
|
||||
th,td { padding:11px 10px; }
|
||||
th { font-size:.7rem; letter-spacing:.06em; }
|
||||
.formula-total { padding:14px 10px; background:#eef2ff; color:var(--ink); border-bottom:1px solid var(--line); }
|
||||
.equipment-list li { border-radius:6px; }
|
||||
.preparation,.notes,.additional-details { margin-top:56px; }
|
||||
.review-toolbar { top:64px; border-radius:8px; background:rgba(248,250,252,.96); }
|
||||
.entity-list > a:hover { background:#f1f5f9; }
|
||||
.filter-menu summary,.filter-menu button,.inline-form button,.purchase-form-actions button,.editor-actions button { border-radius:6px; }
|
||||
.workspace-panel { padding:1.25rem; }
|
||||
.workspace-panel input,.workspace-panel textarea,.workspace-panel select,.editor-form input,.editor-form textarea,.editor-form select,.editor-inline input,.add-line select,.editor-items input[type="number"],.editor-items select,.method-editor textarea { border-radius:6px; background:white; }
|
||||
.component-editor { border-radius:8px; background:var(--card); }
|
||||
.structure-editor button { border-radius:6px; }
|
||||
.success-notice,.notice { border-radius:6px; }
|
||||
.purchase-item-form,.ingredient-nutrition { border-radius:6px; background:#f8fafc; }
|
||||
.app-launcher a { min-height:11rem; }
|
||||
|
||||
@media (max-width:620px) {
|
||||
.shell { width:min(100% - 24px,1180px); }
|
||||
.recipe-page { padding-top:32px; }
|
||||
.recipe-header h1 { font-size:2.25rem; }
|
||||
.page-heading { padding-block:36px 24px; }
|
||||
}
|
||||
.workspace-new-menu { position:relative; margin-left:auto; }
|
||||
.workspace-new-menu > summary { display:flex; align-items:center; gap:5px; min-height:44px; padding:9px 16px; color:white; background:#4868f7; border-radius:22px; cursor:pointer; font-weight:700; list-style:none; white-space:nowrap; }
|
||||
.workspace-new-menu > summary::-webkit-details-marker { display:none; }
|
||||
.workspace-new-menu > nav { position:absolute; z-index:6; top:52px; right:0; width:260px; padding:10px 0; background:white; border:1px solid #dfe3ec; border-radius:7px; box-shadow:0 .75rem 2rem rgba(30,35,25,.16); }
|
||||
.workspace-new-menu > nav a { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:14px; min-height:54px; padding:8px 20px; color:#111a49; text-decoration:none; }
|
||||
.workspace-new-menu > nav a:hover { background:#f8faff; }
|
||||
.create-entity { max-width:720px; padding-bottom:72px; }
|
||||
.entity-detail-shell,.recipe-detail-shell { width:min(1500px,calc(100% - 48px)); margin:0 auto; padding:24px 0 72px; color:#101a4a; }
|
||||
.entity-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; min-height:108px; border-bottom:1px solid #e8eaf0; }.entity-detail-header h1 { margin:8px 0 2px; font:700 clamp(1.7rem,2.4vw,2.35rem) var(--sans); letter-spacing:-.035em; }.entity-detail-header p { margin:0; color:#858da2; }.entity-breadcrumb a { color:#26346d; font-size:.82rem; text-decoration:none; }.identity-edit { position:relative; }.identity-edit > summary { padding:8px 15px; color:#4868f7; border:1px solid #4868f7; border-radius:20px; cursor:pointer; font-weight:700; list-style:none; }.identity-edit > summary::-webkit-details-marker { display:none; }.identity-edit > form { position:absolute; z-index:8; right:0; width:min(390px,calc(100vw - 32px)); padding:18px; background:white; border:1px solid #dfe3ec; border-radius:7px; box-shadow:0 .75rem 2rem rgba(30,35,25,.16); }.identity-edit label { display:grid; gap:4px; margin-bottom:10px; color:#737c91; font-size:.75rem; }.identity-edit input,.identity-edit select,.identity-edit textarea { width:100%; padding:9px; border:1px solid #dfe3ec; }.identity-edit button { padding:9px 12px; color:white; background:#4868f7; border:0; border-radius:5px; font-weight:700; }.entity-notice { margin:14px 0; }.entity-detail-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); min-height:720px; }.entity-primary { padding:48px 42px 40px 0; border-right:1px solid #e8eaf0; }.entity-secondary { min-width:0; padding-left:32px; }.entity-section { margin-bottom:54px; }.entity-section h2,.entity-tab-panel h2 { margin:0 0 8px; font:700 1.35rem var(--sans); }.prep-action-table { margin-top:34px; }.prep-action-table th,.prep-action-table td { padding:13px 8px; text-align:left; border-bottom:1px solid #edf0f5; }.prep-action-table th { color:#9098aa; font-size:.72rem; font-weight:500; }.inline-editor { margin-top:20px; }.inline-editor > summary { color:#4868f7; cursor:pointer; font-weight:700; list-style:none; }.additional-card { min-height:260px; padding:28px; border:1px solid #e8eaf0; }.additional-card > details { padding:16px 0; }.additional-card summary { cursor:pointer; font-weight:700; }.additional-card summary small { margin-left:5px; color:#9aa2b5; }.additional-card ul { padding-left:20px; }.additional-card li { display:flex; justify-content:space-between; gap:10px; padding:6px 0; }.entity-tabs { display:flex; position:sticky; top:0; z-index:3; background:var(--paper); border-bottom:1px solid #e8eaf0; }.entity-tabs button { flex:1; padding:18px 10px; color:#111a49; background:transparent; border:0; border-bottom:2px solid transparent; cursor:pointer; font-weight:700; }.entity-tabs button.active { border-bottom-color:#4868f7; }.entity-tab-panel { display:none; padding:42px 0; background:transparent; border:0; }.entity-tab-panel.active { display:block; }.equivalency-list p { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; padding:14px 4px; border-bottom:1px solid #e8eaf0; }.equivalency-list p small { grid-column:1/-1; color:#8b93a7; }.entity-secondary .purchase-item-form { grid-template-columns:repeat(2,minmax(0,1fr)); }.entity-secondary .purchase-name,.entity-secondary .purchase-rate { grid-column:1/-1; }
|
||||
.recipe-detail-shell { width:min(1600px,calc(100% - 48px)); }.recipe-detail-shell .entity-detail-header { min-height:92px; }.recipe-workspace-tabs { display:flex; justify-content:flex-end; border-bottom:1px solid #f3f3f3; }.recipe-workspace-tabs a { min-width:150px; padding:16px 18px; color:#111a49; border-bottom:2px solid transparent; text-align:center; text-decoration:none; font-weight:700; }.recipe-workspace-tabs a.active { border-bottom-color:#4868f7; }.recipe-overview-strip { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:18px 0; }.recipe-overview-form { flex:1; }.recipe-overview-form > details > summary { color:#4868f7; cursor:pointer; font-weight:700; }.recipe-overview-form fieldset { max-width:720px; margin-top:15px; }.recipe-yield-summary { display:flex; align-items:baseline; gap:12px; min-width:260px; padding:12px 16px; border:1px solid #e8eaf0; }.recipe-yield-summary span,.recipe-yield-summary small { color:#8b93a7; }.recipe-structure-workspace { border-top:1px solid #e8eaf0; }.recipe-structure-workspace .structure-editor { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.92fr); column-gap:32px; }.recipe-structure-workspace .section-heading { grid-column:1/-1; }.recipe-structure-workspace .component-editor,.recipe-structure-workspace > .structure-editor > .secondary-action { grid-column:1; }.recipe-structure-workspace .method-editor { grid-column:2; grid-row:2 / span 40; min-width:0; padding-left:32px; border-left:1px solid #e8eaf0; }.recipe-structure-workspace .component-editor { border-color:#e8eaf0; background:white; }.recipe-structure-workspace .editor-items { min-width:46rem; }.recipe-structure-workspace .method-editor li { padding:15px; border:1px solid #e8eaf0; }.recipe-history { margin-top:30px; padding:18px; border:1px solid #e8eaf0; }.recipe-history summary { cursor:pointer; font-weight:700; }.recipe-history li span,.recipe-history li small { display:block; color:#8b93a7; }
|
||||
.immersive-main { min-height:100vh; background:#fff; }.immersive-main .entity-detail-shell,.immersive-main .recipe-detail-shell { width:100%; max-width:none; margin:0; padding:0 0 72px; }.detail-utility { display:flex; align-items:center; justify-content:flex-end; gap:18px; min-height:58px; padding:7px 28px; border-bottom:1px solid #e8eaf0; }.detail-utility form { width:min(560px,42vw); }.detail-utility input { width:100%; min-height:42px; padding:8px 14px; border:1px solid #e5e8ef; border-radius:4px; font:inherit; }.detail-utility > a { color:#26346d; text-decoration:none; font-weight:700; }.detail-utility .detail-new { padding:9px 16px; color:white; background:#4868f7; border-radius:21px; }.immersive-main .entity-detail-header { width:52%; min-height:128px; padding:26px 38px; border-right:1px solid #e8eaf0; }.immersive-main .entity-notice { width:calc(52% - 76px); margin:12px 38px; }.immersive-main .entity-detail-grid { grid-template-columns:52% 48%; }.immersive-main .entity-primary { padding:48px 38px; }.immersive-main .entity-secondary { padding:0 30px; }.immersive-main .recipe-detail-shell .entity-detail-header { width:52%; padding:22px 38px; }.immersive-main .recipe-workspace-tabs { width:48%; margin:-92px 0 30px 52%; min-height:92px; align-items:end; padding:0 22px; }.immersive-main .recipe-overview-strip { width:52%; min-height:150px; padding:20px 38px; border-right:1px solid #e8eaf0; }.immersive-main .recipe-structure-workspace { padding:0 38px; }.immersive-main .recipe-structure-workspace .structure-editor { grid-template-columns:minmax(0,52fr) minmax(420px,48fr); column-gap:0; }.immersive-main .recipe-structure-workspace .section-heading { padding-right:32px; }.immersive-main .recipe-structure-workspace .component-editor,.immersive-main .recipe-structure-workspace > .structure-editor > .secondary-action { margin-right:32px; }.immersive-main .recipe-structure-workspace .method-editor { padding-left:32px; }.immersive-main .recipe-history { margin-inline:38px; }
|
||||
.immersive-main .entity-detail-shell,.immersive-main .recipe-detail-shell { position:relative; }.immersive-main .detail-utility { position:absolute; z-index:10; top:0; right:0; width:48%; height:58px; background:#fff; }.detail-new-menu { position:relative; }.detail-new-menu > summary { padding:9px 16px; color:white; background:#4868f7; border-radius:21px; cursor:pointer; font-weight:700; list-style:none; white-space:nowrap; }.detail-new-menu > summary::-webkit-details-marker { display:none; }.detail-new-menu > div { position:absolute; top:46px; right:0; width:220px; padding:8px 0; background:#fff; border:1px solid #e5e8ef; border-radius:6px; box-shadow:0 12px 30px rgba(22,30,65,.15); }.detail-new-menu > div a { display:flex; gap:12px; padding:13px 18px; color:#111a49; text-decoration:none; }.detail-new-menu > div a:hover { background:#f7f8fc; }.immersive-main .entity-detail-header { min-height:164px; padding-top:24px; }.immersive-main .entity-detail-grid { border-top:1px solid #e8eaf0; }.immersive-main .entity-secondary { margin-top:-106px; background:#fff; }.immersive-main .entity-tabs { min-height:58px; }.immersive-main .recipe-detail-shell .entity-detail-header { min-height:116px; padding-top:20px; }.immersive-main .recipe-workspace-tabs { min-height:58px; margin:-58px 0 28px 52%; }.immersive-main .recipe-workspace-tabs a { padding-block:17px; }.immersive-main .recipe-overview-strip { min-height:126px; }.immersive-main .recipe-structure-workspace { border-top:0; }.immersive-main .recipe-structure-workspace .structure-editor { border-top:1px solid #e8eaf0; }.immersive-main .recipe-structure-workspace .section-heading { min-height:76px; margin:0; padding:18px 32px 12px 0; }.immersive-main .recipe-structure-workspace .section-heading h2 { margin:2px 0; font:700 1.35rem var(--sans); }
|
||||
.edit-command { padding:8px 15px; color:#4868f7; border:1px solid #4868f7; border-radius:20px; text-decoration:none; font-weight:700; }.recipe-view-workspace { display:grid; grid-template-columns:52% 48%; border-top:1px solid #e8eaf0; }.recipe-view-formula { min-width:0; padding:26px 32px 48px 38px; border-right:1px solid #e8eaf0; }.recipe-view-formula .calculator { padding:0; }.recipe-view-formula .calculator-heading { display:flex; align-items:baseline; gap:24px; margin-bottom:22px; }.recipe-view-formula .calculator-heading h2 { margin:0; font:700 1.4rem var(--sans); }.recipe-view-formula .calculator-heading .eyebrow { display:none; }.recipe-view-formula .basis-input { min-width:0; }.recipe-view-formula .formula-component { margin:0 0 14px; border:0; background:transparent; }.recipe-view-formula .formula-component h3 { margin:0; padding:8px 0; background:transparent; border-bottom:1px solid #f3f3f3; font:500 1.125rem var(--sans); }.recipe-view-formula .recipe-ingredients th { color:#8b93a7; background:white; font-size:.72rem; font-weight:500; }.recipe-view-formula .recipe-ingredients td { border:0; }.recipe-view-formula .formula-total { margin-top:12px; }.recipe-view-details { min-width:0; padding:28px 30px 60px; }.recipe-view-method h2,.recipe-derived-panel > h2 { font:700 1.4rem var(--sans); }.recipe-view-method h2 small { color:#9aa2b5; font-size:.85rem; }.recipe-view-method ol { padding:0; list-style:none; }.recipe-derived-panel { margin-top:46px; padding-top:26px; border-top:1px solid #e8eaf0; }.recipe-derived-panel dl { margin:0; }.recipe-derived-panel dl > div { display:flex; justify-content:space-between; padding:12px 4px; border-bottom:1px solid #edf0f5; }.recipe-derived-panel dd { margin:0; font-weight:700; }.recipe-derived-panel .nutrition-wrap { display:block; }.recipe-derived-panel .nutrition-label { max-width:520px; }
|
||||
.ingredient-identity-form { display:grid; grid-template-columns:1fr 180px; gap:12px; margin:0 0 42px; padding:20px; background:#fafbfe; border:1px solid #e8eaf0; }.ingredient-identity-form h2 { grid-column:1/-1; margin:0 0 6px; font:700 1.2rem var(--sans); }.ingredient-identity-form label { display:grid; gap:5px; color:#788197; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }.ingredient-identity-form label:nth-of-type(3),.ingredient-identity-form label:nth-of-type(4) { grid-column:1/-1; }.ingredient-identity-form input,.ingredient-identity-form select,.ingredient-identity-form textarea { width:100%; padding:9px; color:#111a49; background:#fff; border:1px solid #dfe3ec; font:1rem var(--sans); text-transform:none; letter-spacing:normal; }.ingredient-identity-form button { justify-self:start; padding:9px 13px; color:white; background:#4868f7; border:0; border-radius:5px; font-weight:700; }.primary-command { padding:9px 16px; color:white; background:#43b99f; border-radius:21px; text-decoration:none; font-weight:700; }
|
||||
.ingredient-identity-data { display:none; }
|
||||
.ingredient-prep-section .panel-intro { max-width:650px; line-height:1.55; }
|
||||
.prep-action-table td:first-child small { display:block; margin-top:3px; color:#8d93a7; font-weight:400; }
|
||||
.prep-action-editor .inline-form { display:grid; align-items:end; grid-template-columns:minmax(150px,1.2fr) minmax(110px,.55fr) minmax(160px,1fr) auto; }
|
||||
.prep-action-editor label { display:grid; gap:5px; color:#8b92a6; font-size:11px; }
|
||||
.prep-action-editor label input,.prep-action-editor label select { width:100%; }
|
||||
.percent-input { display:flex; align-items:center; min-width:0; border:1px solid #dfe3ec; background:#fff; }
|
||||
.percent-input input { min-width:0; border:0 !important; }
|
||||
.percent-input i { padding-right:10px; color:#8b92a6; font-style:normal; }
|
||||
.field-help { margin:10px 0 0; color:#9298aa; font-size:12px; line-height:1.5; }
|
||||
.alias-editor { display:grid; gap:7px; margin-top:14px; color:#8b92a6; font-size:11px; }
|
||||
.alias-editor textarea { width:100%; padding:10px 12px; resize:vertical; border:1px solid #dfe3ec; border-radius:3px; color:#111a49; font:14px var(--sans); }
|
||||
@media (max-width:720px) { .prep-action-table { display:block; overflow-x:auto; }.prep-action-table th,.prep-action-table td { min-width:90px; white-space:nowrap; }.prep-action-editor .inline-form { grid-template-columns:1fr; } }
|
||||
.ingredient-title-editor { overflow:hidden; resize:none; field-sizing:content; }
|
||||
.ingredient-prep-section .inline-editor > summary { display:inline-flex; align-items:center; min-height:40px; margin-top:5px; padding:8px 16px; color:#202962; background:#fff; border:1px solid #202962; border-radius:22px; font-size:14px; font-weight:600; }
|
||||
.ingredient-additional-edit { padding:42px 32px 62px !important; border:1px solid #f3f3f3 !important; border-radius:4px; }
|
||||
.ingredient-detail-fields { display:grid; gap:24px; margin-top:28px; }
|
||||
.ingredient-detail-fields > label { display:grid; gap:8px; color:#3c4679; font-size:14px; }
|
||||
.ingredient-detail-fields > label > small { margin-top:-5px; color:#a5a9c1; font-size:11px; }
|
||||
.ingredient-detail-fields input,.ingredient-detail-fields textarea { width:100%; min-height:44px; padding:10px 12px; color:#050841; background:#fff; border:1px solid #ececec; border-bottom-color:#b5b5b5; border-radius:0; font:15px var(--sans); resize:vertical; }
|
||||
.ingredient-detail-fields textarea:focus,.ingredient-detail-fields input:focus { background:#f1f5fe; border-bottom-color:#3d5df6; outline:0; }
|
||||
.ingredient-tag-view,.ingredient-description-view { padding:16px 0; border-bottom:1px solid #eeeef3; }
|
||||
.ingredient-tag-view > strong,.ingredient-description-view > strong { display:block; margin-bottom:10px; color:#3c4679; font-size:13px; }
|
||||
.ingredient-tag-view > span { display:flex; flex-wrap:wrap; gap:7px; }
|
||||
.ingredient-tag-view i { padding:5px 11px; color:#202962; background:#f1f5fe; border-radius:16px; font-size:12px; font-style:normal; }
|
||||
.ingredient-description-view p { margin:0; color:#505773; line-height:1.55; }
|
||||
.ingredient-cost-edit { display:grid; gap:28px; }
|
||||
.ingredient-purchase-form { padding-bottom:28px; border-bottom:1px solid #f3f3f3; }
|
||||
.ingredient-purchase-form > header { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:18px; }
|
||||
.ingredient-purchase-form h3 { margin:0; color:#3c4679; font-size:14px; font-weight:600; }
|
||||
.ingredient-purchase-form > header form { margin:0; }
|
||||
.ingredient-purchase-form > header button { padding:5px 7px; color:#f63d48; background:transparent; border:0; cursor:pointer; font-size:11px; }
|
||||
.ingredient-purchase-form .purchase-item-form { margin:0; padding:0; background:#fff; border:0; border-radius:0; }
|
||||
.ingredient-purchase-form .purchase-item-form label { color:#3c4679; font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; }
|
||||
.ingredient-purchase-form .purchase-item-form input,.ingredient-purchase-form .purchase-item-form select { min-height:44px; padding:9px 10px; background:#ffffff; border-color:#ececec; border-radius:0; }
|
||||
.ingredient-purchase-form .purchase-form-actions button { padding:9px 16px; background:#3d5df6; border-color:#3d5df6; border-radius:20px; }
|
||||
.ingredient-cost-row { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding:12px 0; border-bottom:1px solid #edf0f5; }
|
||||
.ingredient-cost-row > span:last-child { text-align:right; }
|
||||
.ingredient-cost-row strong,.ingredient-cost-row small { display:block; }
|
||||
.ingredient-cost-row small { margin-top:3px; color:#a5a9c1; font-size:11px; }
|
||||
.detail-actions-menu label { display:grid; gap:6px; padding:9px 14px; color:#a5a9c1; font-size:11px; }
|
||||
.detail-actions-menu select { width:250px; padding:9px; }
|
||||
.application-body .ingredient-actions-menu > div { width:290px; }
|
||||
@media (min-width:981px) { .application-body .entity-detail-shell .entity-primary { background:#ffffff; } }
|
||||
.application-body .entity-detail-shell .entity-detail-header { background:#ffffff; }
|
||||
.application-body .entity-detail-shell .entity-primary { padding-top:35px; }
|
||||
.application-body .entity-detail-shell .entity-section { margin-bottom:35px; }
|
||||
.application-body .entity-detail-shell .entity-section h2,.application-body .entity-detail-shell .entity-tab-panel h2 { color:#050841; font-size:22px; font-weight:700; line-height:1.25; }
|
||||
.application-body .entity-detail-shell .panel-intro { max-width:640px; margin:5px 0 20px; color:#95969c; font-size:14px; line-height:1.5; }
|
||||
.application-body .entity-detail-shell .entity-tabs { position:relative; min-height:58px; background:#fff; border-color:#edf0f5; }
|
||||
.application-body .entity-detail-shell .entity-tabs button { min-height:58px; padding:8px 12px; color:#050841; font-size:15px; font-weight:400; }
|
||||
.application-body .entity-detail-shell .entity-tabs button.active { color:#050841; background:#f1f5fe; border-bottom:2px solid #3d5df6; }
|
||||
.application-body .entity-detail-shell .entity-tab-panel { padding:35px 2px 60px; }
|
||||
.application-body .entity-detail-shell .prep-action-table { width:100%; margin-top:26px; table-layout:fixed; }
|
||||
.application-body .entity-detail-shell .prep-action-table th { height:40px; padding:8px 10px; color:#757677; background:#ffffff; border-color:#edf0f5; font-size:12px; }
|
||||
.application-body .entity-detail-shell .prep-action-table td { height:58px; padding:10px; color:#050841; background:#fff; border:1px solid #edf0f5; font-size:14px; }
|
||||
.application-body .entity-detail-shell .inline-editor > summary,.application-body .entity-detail-shell .add-purchase > summary { display:inline-flex; align-items:center; min-height:40px; padding:8px 16px; color:#202962; background:#fff; border:1px solid #202962; border-radius:22px; font-size:14px; font-weight:600; list-style:none; }
|
||||
.application-body .entity-detail-shell .inline-editor > summary::-webkit-details-marker,.application-body .entity-detail-shell .add-purchase > summary::-webkit-details-marker { display:none; }
|
||||
.application-body .entity-detail-shell .inline-form { gap:10px; margin-top:18px; padding-top:18px; border-color:#f3f3f3; }
|
||||
.application-body .entity-detail-shell .inline-form label { color:#3c4679; font-size:11px; font-weight:500; }
|
||||
.application-body .entity-detail-shell .inline-form input,.application-body .entity-detail-shell .inline-form select { min-height:44px; padding:9px 10px; color:#050841; background:#fff; border:1px solid #ececec; border-radius:0; font-size:14px; }
|
||||
.application-body .entity-detail-shell .inline-form input:focus,.application-body .entity-detail-shell .inline-form select:focus { background:#f1f5fe; border-color:#3d5df6; outline:0; }
|
||||
.application-body .entity-detail-shell .inline-form button,.application-body .entity-detail-shell .usda-id-form button { min-height:38px; padding:8px 16px; color:#fff; background:#3d5df6; border:0; border-radius:20px; font-size:13px; font-weight:600; }
|
||||
.application-body .equivalency-editor .inline-form { display:grid; grid-template-columns:90px minmax(120px,1fr) auto 90px minmax(120px,1fr) minmax(130px,1fr) auto; align-items:end; }
|
||||
.application-body .equivalency-editor .inline-form label { display:grid; gap:5px; }
|
||||
.application-body .equivalency-editor .inline-form > i { align-self:center; color:#a5a9c1; font-style:normal; }
|
||||
.application-body .equivalency-list { margin-top:8px; }
|
||||
.application-body .equivalency-list p { min-height:58px; margin:0; padding:12px 8px; border-color:#f3f3f3; color:#050841; }
|
||||
.application-body .equivalency-list p small { color:#a5a9c1; font-size:11px; }
|
||||
.application-body .equivalency-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border-bottom:1px solid #f3f3f3; }
|
||||
.application-body .equivalency-row > p { border-bottom:0; }
|
||||
.application-body .equivalency-actions { display:flex; gap:4px; }
|
||||
.application-body .equivalency-actions form { margin:0; }
|
||||
.application-body .equivalency-actions button,.application-body .cancel-equivalency { padding:6px 8px; color:#3d5df6; background:transparent; border:0; cursor:pointer; font-size:11px; }
|
||||
.application-body .equivalency-actions form button { color:#f63d48; }
|
||||
.application-body .cancel-equivalency { align-self:end; min-height:38px; }
|
||||
.application-body .usda-id-form { gap:10px; margin:24px 0; padding:18px 0; border-block:1px solid #f3f3f3; }
|
||||
.application-body .usda-id-form label { gap:6px; color:#3c4679; font-size:11px; font-weight:500; }
|
||||
.application-body .usda-id-form input { min-height:44px; padding:9px 10px; background:#fff; border:1px solid #ececec; border-radius:0; font-size:14px; }
|
||||
.application-body .usda-id-form a,.application-body .nutrition-mapping-head a { color:#3d5df6; font-size:12px; font-weight:600; text-decoration:none; }
|
||||
.application-body .ingredient-nutrition { margin-top:20px; padding:0; background:#fff; border:0; border-radius:0; }
|
||||
.application-body .nutrition-mapping-head { padding:0 0 14px; border-bottom:1px solid #3d5df6; }
|
||||
.application-body .ingredient-nutrition dl div { min-height:44px; padding:10px 6px; border-color:#f3f3f3; font-size:13px; }
|
||||
.application-body .ingredient-nutrition footer { color:#a5a9c1; }
|
||||
.application-body .prep-edit-wrap { overflow-x:auto; margin-top:26px; }
|
||||
.application-body .prep-edit-table { min-width:700px; margin-top:0 !important; }
|
||||
.application-body .prep-edit-table th:first-child { width:31%; }
|
||||
.application-body .prep-edit-table th:nth-child(2) { width:15%; }
|
||||
.application-body .prep-edit-table th:last-child { width:44px; }
|
||||
.application-body .prep-edit-table select,.application-body .prep-edit-table input { width:100%; min-height:36px; padding:7px 8px; color:#050841; background:#fff; border:0; border-bottom:1px solid #ececec; border-radius:0; font-size:13px; }
|
||||
.application-body .prep-edit-table .prep-row-notes { margin-top:3px; color:#757677; font-size:11px; font-style:italic; }
|
||||
.application-body .prep-edit-table .percent-input { border:0; }
|
||||
.application-body .prep-edit-table .percent-input i { padding-right:5px; }
|
||||
.application-body .prep-row-remove { display:grid; place-items:center; width:30px; height:30px; padding:0; color:#a5a9c1; background:transparent; border:0; border-radius:50%; cursor:pointer; font-size:20px; }
|
||||
.application-body .prep-row-remove:hover { color:#f63d48; background:#fff1f2; }
|
||||
.application-body .prep-equivalency-link { width:100%; min-height:32px; padding:4px; color:#3d5df6; background:transparent; border:0; border-radius:3px; cursor:pointer; font-size:12px; text-align:left; }
|
||||
.application-body .prep-equivalency-link:hover { background:#f1f5fe; text-decoration:underline; }
|
||||
.application-body .outlined-add-action { min-height:40px; margin-top:20px; padding:8px 16px; color:#202962; background:#fff; border:1px solid #202962; border-radius:22px; cursor:pointer; font-size:14px; font-weight:600; }
|
||||
.application-body #ingredient-done.dirty::after { content:""; display:inline-block; width:6px; height:6px; margin-left:7px; background:#fff; border-radius:50%; vertical-align:middle; }
|
||||
.recipe-workspace-tabs button { min-width:150px; padding:16px 18px; color:#111a49; background:transparent; border:0; border-bottom:2px solid transparent; cursor:pointer; font:700 .9rem var(--sans); }.recipe-workspace-tabs button.active { border-bottom-color:#4868f7; }.recipe-tab-panel { display:none; }.recipe-tab-panel.active { display:block; }.recipe-view-details > .recipe-derived-panel { margin-top:0; padding-top:0; border-top:0; }.recipe-view-details .derived-grid { display:block; }.recipe-view-details .derived-card { border:0; padding:0; }.recipe-view-details .derived-title h2 { font:700 1.4rem var(--sans); }
|
||||
.recipe-view-equivalencies h2,.recipe-equivalence-editor h2 { font:700 1.4rem var(--sans); }.recipe-view-equivalencies > div,.recipe-equivalence-editor > div { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; padding:14px 4px; border-bottom:1px solid #e8eaf0; }.recipe-view-equivalencies small,.recipe-equivalence-editor small { grid-column:1/-1; color:#8b93a7; }.recipe-equivalence-editor { margin:30px 38px; padding:24px; border:1px solid #e8eaf0; }.recipe-equivalence-editor > p { color:#8b93a7; }.recipe-equivalence-editor form { display:grid; grid-template-columns:90px 1fr auto 90px 1fr minmax(150px,1fr) auto; align-items:center; gap:8px; margin-top:20px; }.recipe-equivalence-editor input,.recipe-equivalence-editor select { min-width:0; padding:9px; border:1px solid #dfe3ec; }.recipe-equivalence-editor button { padding:10px 12px; color:white; background:#4868f7; border:0; border-radius:5px; font-weight:700; }
|
||||
.editable-entity-title {
|
||||
display:block;
|
||||
width:min(680px,50vw);
|
||||
margin:0;
|
||||
padding:2px 0 4px;
|
||||
color:#050841;
|
||||
background:transparent;
|
||||
border:0;
|
||||
border-bottom:1px solid transparent;
|
||||
border-radius:0;
|
||||
font-family:var(--meez-font-sans);
|
||||
font-size:28px;
|
||||
font-weight:900;
|
||||
line-height:42px;
|
||||
letter-spacing:0;
|
||||
}
|
||||
.editable-entity-title:hover,
|
||||
.editable-entity-title:focus {
|
||||
border-bottom-color:#3d5df6;
|
||||
outline:0;
|
||||
background:transparent;
|
||||
}
|
||||
#recipe-done {
|
||||
display:inline-flex;
|
||||
align-items:center;
|
||||
justify-content:center;
|
||||
min-height:32px;
|
||||
padding:6px 18px;
|
||||
color:#fff;
|
||||
background:#3d5df6;
|
||||
border:0;
|
||||
border-radius:100px;
|
||||
font-family:var(--meez-font-sans);
|
||||
font-size:15px;
|
||||
font-weight:500;
|
||||
cursor:pointer;
|
||||
box-shadow:none;
|
||||
}
|
||||
#recipe-done:hover {
|
||||
background:#2f4de0;
|
||||
}
|
||||
.calculate-toggle { display:inline-flex; align-items:center; gap:9px; color:#26346d; font-size:.82rem; font-weight:700; white-space:nowrap; }.calculate-toggle input { position:absolute; opacity:0; pointer-events:none; }.calculate-toggle i { position:relative; width:35px; height:20px; background:#cbd1dc; border-radius:12px; }.calculate-toggle i::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; background:#fff; border-radius:50%; transition:.15s; }.calculate-toggle input:checked + i { background:#43b99f; }.calculate-toggle input:checked + i::after { transform:translateX(15px); }.calculator-heading .calculate-toggle { grid-column:1/-1; justify-self:end; }.structure-heading-actions { display:flex; align-items:center; gap:18px; }.recipe-edit-workspace { display:grid; grid-template-columns:52% 48%; border-top:1px solid #e8eaf0; }.recipe-edit-structure { min-width:0; padding:0 32px 48px 38px; border-right:1px solid #e8eaf0; }.recipe-edit-structure .structure-editor { display:block; }.recipe-edit-structure .section-heading { min-height:76px; margin:0; padding:18px 0 12px; }.recipe-edit-structure .component-editor { margin-right:0; background:#fff; border-color:#e8eaf0; }.recipe-edit-static-method { min-width:0; padding:28px 30px 60px; }.recipe-edit-structure .editor-items { min-width:54rem; }.recipe-edit-structure .editor-items th:nth-child(2),.recipe-edit-structure .editor-items td:nth-child(2) { width:6rem; }.recipe-edit-structure .editor-items th:nth-child(3),.recipe-edit-structure .editor-items td:nth-child(3) { width:7rem; text-align:right; }.recipe-edit-structure .editor-items th:nth-child(4),.recipe-edit-structure .editor-items td:nth-child(4) { width:11rem; }.recipe-edit-structure .editor-items th:nth-child(5),.recipe-edit-structure .editor-items td:nth-child(5) { width:9rem; }.recipe-edit-structure .editor-items th:nth-child(6),.recipe-edit-structure .editor-items td:nth-child(6) { width:6rem; }.recipe-edit-structure .editor-items th:last-child,.recipe-edit-structure .editor-items td:last-child { width:8rem; }.recipe-edit-static-method h2 { margin-bottom:18px; }
|
||||
.percent-mode { display:inline-flex; border:1px solid #dfe3ec; border-radius:18px; overflow:hidden; }.percent-mode button { min-width:96px; padding:7px 11px; color:#26346d; background:#fff; border:0; cursor:pointer; font-weight:700; }.percent-mode button.active { background:#e9efff; }.calculator-percent-controls { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:14px; }.calculator-percent-controls .calculate-toggle { justify-self:auto; }.basis-choice { display:inline-flex; align-items:center; gap:4px; margin-left:10px; color:#4868f7; font-size:.68rem; font-weight:700; }.basis-choice input { width:auto; }.structure-heading-actions { flex-wrap:wrap; justify-content:flex-end; }
|
||||
.editor-items .base-column { width:4.5rem; text-align:center; }.editor-items .base-column input { width:17px; height:17px; margin:0; accent-color:#4868f7; }.bakers-base-summary { display:grid; grid-template-columns:55px 1fr; gap:14px; margin:0 0 28px; padding:18px; background:#f7f7f8; border-radius:5px; }.bakers-base-summary > strong { color:#a0a7ba; font-weight:500; }.bakers-base-summary p { display:grid; grid-template-columns:80px 1fr; gap:10px; margin:0 0 10px; }.bakers-base-summary p:last-child { margin-bottom:0; }.bakers-base-summary a { color:#111a49; text-decoration:none; font-weight:700; }.bakers-base-summary span { color:#26346d; }
|
||||
.bakers-base-summary p > span { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border-bottom:1px solid #a5a9c1; }
|
||||
.bakers-base-summary input,.bakers-base-summary select { min-width:0; padding:3px 2px; color:#26346d; background:transparent; border:0; font:inherit; }
|
||||
.bakers-base-summary input { width:100%; text-align:right; }
|
||||
.bakers-base-summary select { max-width:48px; color:#3d5df6; }
|
||||
.entity-directory-table { background:#fff; border:1px solid #eef0f5; }.entity-directory-toolbar { display:grid; grid-template-columns:36px 64px minmax(12rem,1fr) auto; align-items:center; gap:8px; min-height:58px; padding:0 20px; border-bottom:1px solid #eef0f5; }.entity-directory-toolbar input,.entity-directory-row > input { width:20px; height:20px; margin:0; accent-color:#3d5df6; }.entity-directory-toolbar strong { color:#5366fa; font-size:.88rem; }.entity-directory-toolbar button { padding:7px 10px; color:#64748b; background:transparent; border:0; cursor:pointer; }.entity-directory-toolbar .bulk-delete { color:#a73838; }.directory-error { margin:0; padding:11px 20px; color:#8d2e2e; background:#fff1f1; border-bottom:1px solid #f5cece; }.entity-directory-head,.entity-directory-row { display:grid; align-items:center; gap:8px; padding:0 20px; }.entity-directory-head { grid-template-columns:36px 64px minmax(14rem,1fr) repeat(var(--directory-columns),minmax(7rem,10rem)) 28px; min-height:38px; color:#8b93a7; border-bottom:1px solid #eef0f5; font-size:.7rem; text-transform:uppercase; }.entity-directory-head > span:first-child { grid-column:auto; }.entity-directory-row { grid-template-columns:36px 64px minmax(14rem,1fr) repeat(var(--directory-columns),minmax(7rem,10rem)) 28px; min-height:62px; border-bottom:1px solid #eef0f5; }.entity-directory-row:last-child { border-bottom:0; }.entity-directory-row.selected { background:#edf2ff; }.entity-directory-head.columns-1,.entity-directory-row.columns-1 { --directory-columns:1; }.entity-directory-head.columns-2,.entity-directory-row.columns-2 { --directory-columns:2; }.entity-directory-head.columns-3,.entity-directory-row.columns-3 { --directory-columns:3; }.entity-directory-name { display:flex; flex-direction:column; min-width:0; }.entity-directory-name a { overflow:hidden; color:#111a49; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }.entity-directory-name small { color:#8b93a7; }.directory-attention { display:flex; gap:5px; }.directory-attention em { padding:2px 5px; color:#9a3412; background:#fff0e8; border-radius:3px; font-size:.62rem; font-style:normal; font-weight:700; text-transform:uppercase; }.entity-directory-value { overflow:hidden; color:#687086; font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }.entity-row-actions { position:relative; }.entity-row-actions > summary { color:#a0a7ba; cursor:pointer; font-size:1.4rem; list-style:none; text-align:center; }.entity-row-actions > summary::-webkit-details-marker { display:none; }.entity-row-actions > div { position:absolute; z-index:5; top:28px; right:0; width:130px; padding:5px; background:#fff; border:1px solid #dfe3ec; border-radius:5px; box-shadow:0 8px 22px rgba(20,30,60,.14); }.entity-row-actions a,.entity-row-actions button { display:block; width:100%; padding:8px 10px; color:#26346d; background:transparent; border:0; text-align:left; text-decoration:none; cursor:pointer; }.entity-row-actions button { color:#a73838; }.entity-row-actions a:hover,.entity-row-actions button:hover { background:#f7f8fc; }
|
||||
.delete-confirmation { width:min(700px,calc(100% - 32px)); padding:30px 38px; color:#050841; background:#fff; border:0; border-radius:10px; box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12); }.delete-confirmation::backdrop { background:rgba(0,0,0,0.5); }.delete-confirmation h2 { margin:0 30px 12px 0; color:#202962; font:700 28px/39px var(--sans); }.delete-confirmation p { margin:0 0 30px; color:#050841; font-size:15px; font-weight:400; line-height:1.5; }.delete-confirmation > div { display:flex; justify-content:flex-end; align-items:center; gap:52px; }.delete-confirmation button { padding:0; background:transparent; border:0; cursor:pointer; color:#050841; font-size:15px; font-weight:500; }.delete-confirmation .confirm-delete { min-width:250px; padding:16px 24px; color:#fff; background:#f63d48; border-radius:100px; font-size:16px; font-weight:500; line-height:16px; }.delete-confirmation .dialog-close { position:absolute; top:18px; right:18px; padding:4px; color:#a5a9c1; border:0; font-size:24px; }
|
||||
.entity-directory-head,.entity-directory-row,.entity-directory-head.columns-1,.entity-directory-head.columns-2,.entity-directory-head.columns-3,.entity-directory-row.columns-1,.entity-directory-row.columns-2,.entity-directory-row.columns-3 { grid-template-columns:36px 64px minmax(14rem,1fr) 28px; }.entity-directory-head > span:first-child { grid-column:auto; }.entity-directory-head > span:nth-child(2) { text-align:left; }.entity-directory-name { justify-content:center; }.entity-directory-toolbar { min-height:52px; }
|
||||
|
||||
@@ -0,0 +1,436 @@
|
||||
/* Application interface skin. */
|
||||
.application-body {
|
||||
--ink:#050841;
|
||||
--muted:#a5a9c1;
|
||||
--paper:#ffffff;
|
||||
--card:#fff;
|
||||
--line:#edf0f5;
|
||||
--green:#3d5df6;
|
||||
--orange:#647df8;
|
||||
color:#050841;
|
||||
background:#ffffff;
|
||||
font-family:var(--meez-font-sans);
|
||||
font-size:16px;
|
||||
font-weight:300;
|
||||
line-height:20px;
|
||||
letter-spacing:0;
|
||||
}
|
||||
.application-body main:not(.immersive-main) { min-height:100vh; }
|
||||
.application-body button,.application-body input,.application-body select,.application-body textarea { font:inherit; }
|
||||
.application-body button,.application-body summary,.application-body a { -webkit-tap-highlight-color:transparent; }
|
||||
.application-body h1,.application-body h2,.application-body h3 { color:#050841; font-family:inherit; letter-spacing:-.015em; }
|
||||
.application-body p { line-height:1.5; }
|
||||
|
||||
/* Home workspace */
|
||||
.application-body .directory-workspace { width:min(1120px,calc(100% - 48px)); padding:26px 0 32px; }
|
||||
.application-body .workspace-search-tools { position:sticky; top:0; z-index:20; display:flex; align-items:center; min-height:80px; margin:0; background:#ffffff; }
|
||||
.application-body .workspace-search-tools-inner { width:min(1120px,calc(100% - 48px)); margin-inline:auto; display:flex; align-items:center; justify-content:flex-end; gap:12px; }
|
||||
.application-body .workspace-search-tools-inner .workspace-new-menu { margin-left:0; }
|
||||
.application-body .workspace-global-search { flex:0 1 504px; min-height:40px; padding:0 12px; display:flex; align-items:center; gap:5px; background:#fff; border:1px solid #edf0f5; border-radius:4px; box-shadow:none; }
|
||||
.application-body .workspace-global-search .search-icon { flex:none; color:#8283a0; }
|
||||
.application-body .workspace-global-search:focus-within { box-shadow:none; }
|
||||
.application-body form.workspace-global-search input[type="search"] { flex:1; min-width:0; padding:8px 0 6px; color:rgba(0,0,0,0.87); background:transparent; border:0; border-radius:0; font-size:16px; font-weight:400; }
|
||||
input[type="search"]::-webkit-search-decoration,
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-results-button,
|
||||
input[type="search"]::-webkit-search-results-decoration,
|
||||
.application-body input[type="search"]::-webkit-search-decoration,
|
||||
.application-body input[type="search"]::-webkit-search-cancel-button,
|
||||
.application-body input[type="search"]::-webkit-search-results-button,
|
||||
.application-body input[type="search"]::-webkit-search-results-decoration {
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
display: none;
|
||||
}
|
||||
.application-body .workspace-global-search input::placeholder { color:#a5a9c1; }
|
||||
.application-body .workspace-global-search > a { flex:none; padding:0 2px; color:#a5a9c1; font-size:20px; line-height:1; text-decoration:none; cursor:pointer; }
|
||||
.application-body .workspace-global-search > a:hover { color:#050841; }
|
||||
.application-body .search-type-filter summary { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 16px; color:rgba(0,0,0,0.87); background:transparent; border:0; border-radius:20px; font-size:16px; font-weight:400; list-style:none; cursor:pointer; }
|
||||
.application-body .search-type-filter summary::-webkit-details-marker { display:none; }
|
||||
.application-body .filter-icon { flex:none; width:15px; height:18px; color:#050841; }
|
||||
@keyframes meez-menu-in { from { opacity:0; transform:translateY(4px) scale(.98); } to { opacity:1; transform:none; } }
|
||||
.application-body .workspace-new-menu[open] > nav,.application-body .filter-menu[open] > form,.application-body .search-type-filter[open] > form,.application-body .entity-row-actions[open] > div { animation:meez-menu-in .2s cubic-bezier(0.4,0,0.2,1); }
|
||||
.application-body .search-type-filter form,.application-body .filter-menu form,.application-body .workspace-new-menu nav { border:1px solid #eeeef3; border-radius:4px; box-shadow:0 8px 25px rgba(5,8,65,.12); }
|
||||
.application-body .workspace-new-menu > summary,.application-body .detail-new-menu > summary { padding:10px 17px; color:#fff; background:#3d5df6; border-radius:20px; font-size:14px; font-weight:600; }
|
||||
.application-body .workspace-new-menu,.application-body .detail-new-menu { position:relative; flex:none; }
|
||||
.application-body .workspace-new-menu > summary,.application-body .detail-new-menu > summary { display:grid; grid-template-columns:18px auto 12px; align-items:center; gap:7px; min-height:40px; padding:6px 12px 6px 9px; color:#fff; background:#3d5df6; border:1px solid #3d5df6; border-radius:6px; box-shadow:0 1px 2px rgba(5,8,65,.12); cursor:pointer; font-size:14px; font-weight:600; line-height:1; list-style:none; transition:background .15s,border-color .15s,box-shadow .15s; }
|
||||
.application-body .workspace-new-menu > summary:hover,.application-body .detail-new-menu > summary:hover { background:#304fdf; border-color:#304fdf; }
|
||||
.application-body .workspace-new-menu > summary:focus-visible,.application-body .detail-new-menu > summary:focus-visible { outline:3px solid rgba(61,93,246,.22); outline-offset:2px; }
|
||||
.application-body .workspace-new-menu[open] > summary,.application-body .detail-new-menu[open] > summary { background:#304fdf; border-color:#304fdf; box-shadow:0 0 0 3px rgba(61,93,246,.14); }
|
||||
.application-body .new-trigger-plus { display:grid; place-items:center; width:18px; height:18px; font-size:18px; font-weight:400; line-height:1; }
|
||||
.application-body .new-trigger-chevron { color:#dce2ff; font-size:14px; transform:translateY(-1px); transition:transform .15s; }
|
||||
.application-body details[open] > summary .new-trigger-chevron { transform:rotate(180deg) translateY(1px); }
|
||||
.application-body .workspace-new-menu > nav,.application-body .detail-new-menu > div { display:block; position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:272px; padding:6px; background:#fff; border:1px solid #e4e5ed; border-radius:7px; box-shadow:0 12px 34px rgba(5,8,65,.16); }
|
||||
.application-body .workspace-new-menu > nav a,.application-body .detail-new-menu > div a { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:11px; min-height:58px; padding:8px 10px; color:#050841; border-radius:5px; text-decoration:none; }
|
||||
.application-body .workspace-new-menu > nav a:hover,.application-body .detail-new-menu > div a:hover { background:#f1f5fe; }
|
||||
.application-body .workspace-new-menu > nav a:focus-visible,.application-body .detail-new-menu > div a:focus-visible { outline:2px solid #647df8; outline-offset:-2px; }
|
||||
.application-body .workspace-new-menu > nav a + a,.application-body .detail-new-menu > div a + a { border-top:1px solid #f1f1f5; }
|
||||
.application-body .workspace-new-menu > nav a > span:last-child,.application-body .detail-new-menu > div a > span:last-child { display:flex; min-width:0; flex-direction:column; gap:3px; }
|
||||
.application-body .workspace-new-menu strong,.application-body .detail-new-menu strong { font-size:14px; font-weight:600; }
|
||||
.application-body .workspace-new-menu small,.application-body .detail-new-menu small { overflow:hidden; color:#8b93a7; font-size:12px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
|
||||
|
||||
/* Menu treatment: quiet white surfaces, navy text, roomy rows. */
|
||||
.application-body .workspace-new-menu > summary,.application-body .detail-new-menu > summary { grid-template-columns:18px auto; gap:8px; min-height:32px; padding:0 12px; border-radius:100px; box-shadow:none; font-size:16px; font-weight:500; }
|
||||
.application-body .new-trigger-plus { font-size:20px; }
|
||||
.application-body .new-trigger-plus svg { display:block; width:18px; height:18px; }
|
||||
.application-body .workspace-new-menu > nav,.application-body .detail-new-menu > div { width:375px; padding:22px 0; border:0; border-radius:4px; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); }
|
||||
.application-body .workspace-new-menu > nav a,.application-body .detail-new-menu > div a { grid-template-columns:24px minmax(0,1fr); gap:16px; min-height:43px; padding:8px 25px; border-radius:0; }
|
||||
.application-body .workspace-new-menu > nav a + a,.application-body .detail-new-menu > div a + a { border-top:0; }
|
||||
.application-body .new-menu-icon { display:grid; place-items:center; width:24px; height:24px; color:#a5a9c1; }
|
||||
.application-body .new-menu-icon svg { display:block; width:24px; height:24px; }
|
||||
.application-body .workspace-new-menu strong,.application-body .detail-new-menu strong { color:#050841; font-size:16px; font-weight:500; }
|
||||
.application-body .workspace-new-menu > nav a:hover,.application-body .detail-new-menu > div a:hover { background:#f1f5fe; transition:background-color .15s cubic-bezier(0.4,0,0.2,1); }
|
||||
.application-body .search-type-filter form,.application-body .filter-menu form { width:300px; padding:14px 0; color:#202962; background:#fff; border:0; border-radius:4px; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); }
|
||||
.application-body .search-type-filter label,.application-body .filter-menu label { min-height:42px; padding:8px 20px; font-size:14px; }
|
||||
.application-body .search-type-filter label:hover,.application-body .filter-menu label:hover { background:#f1f5fe; transition:background-color .15s cubic-bezier(0.4,0,0.2,1); }
|
||||
.application-body .filter-menu fieldset { margin:6px 14px; padding:6px 0; border:0; border-top:1px solid #eeeef3; }
|
||||
.application-body .filter-menu legend { padding:12px 6px 4px; color:#a5a9c1; font-size:11px; font-weight:500; letter-spacing:.02em; text-transform:none; }
|
||||
.application-body .search-type-filter form > div,.application-body .filter-menu form > div { justify-content:flex-end; margin:8px 14px 0; padding-top:12px; border-top:1px solid #eeeef3; }
|
||||
.application-body .search-type-filter button,.application-body .filter-menu button { padding:8px 13px; color:#fff; background:#3d5df6; border:0; border-radius:4px; font-size:13px; font-weight:600; }
|
||||
.application-body .search-type-filter form a,.application-body .filter-menu form a { color:#647df8; font-size:13px; text-decoration:none; }
|
||||
|
||||
.application-body .entity-row-actions > div { width:275px; padding:8px 0; border:0; border-radius:4px; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); }
|
||||
.application-body .entity-row-actions a,.application-body .entity-row-actions button { min-height:47px; padding:10px 30px; color:#202962; font-size:16px; font-weight:500; }
|
||||
.application-body .entity-row-actions button { color:#f63d48; }
|
||||
.application-body .entity-row-actions a:hover,.application-body .entity-row-actions button:hover { background:#f1f5fe; transition:background-color .15s cubic-bezier(0.4,0,0.2,1); }
|
||||
.application-body .identity-edit > form { border-color:#e6e7ee; border-radius:4px; box-shadow:0 2px 5px rgba(5,8,65,.18); }
|
||||
.application-body .workspace-pills { gap:8px; padding:0 0 46px; }
|
||||
.application-body .workspace-pills > a { min-height:40px; padding:8px 16px 8px 12px; color:rgba(0,0,0,0.87); background:#fff; border:1px solid #ececec; border-radius:999px; box-shadow:none; font-size:16px; font-weight:400; transition:background-color .15s cubic-bezier(0.4,0,0.2,1),border-color .15s cubic-bezier(0.4,0,0.2,1); }
|
||||
.application-body .workspace-pills > a:hover { background:#fff; border-color:#ececec; }
|
||||
.application-body .workspace-pills > a.active { background:#DBE4FF; border-color:#DBE4FF; }
|
||||
.application-body .workspace-pills > a small { margin-left:8px; color:#a5a9c1; font-size:13px; font-weight:500; }
|
||||
.application-body .workspace-pills > a .workspace-pill-icon { width:20px; height:20px; flex:none; }
|
||||
.application-body .workspace-pill-icon { display:grid; place-items:center; width:24px; height:24px; background:#3c4679; border-radius:50%; color:#fff; font-size:10px; font-weight:700; }
|
||||
.application-body .workspace-pill-icon.ingredient,.application-body .workspace-pill-icon.purchase { background:#3f908a; }
|
||||
.application-body .workspace-pill-icon.book { background:#f3a642; }
|
||||
.application-body .workspace-pills .filter-menu summary { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:10px 16px; color:rgba(0,0,0,0.87); background:transparent; border:0; border-radius:20px; font-size:16px; font-weight:400; }
|
||||
.application-body .entity-directory-table { overflow:visible; border:0; background:#fff; }
|
||||
.application-body .entity-directory-toolbar { grid-template-columns:36px 64px minmax(0,1fr) auto; gap:8px; min-height:57px; padding:0; background:#ffffff; border-bottom:1px solid #edf0f5; }
|
||||
.application-body .entity-directory-toolbar.has-selection { grid-template-columns:36px minmax(0,1fr); }
|
||||
.application-body .entity-directory-selection-bar { display:flex; align-items:center; justify-content:space-between; width:100%; padding-right:8px; }
|
||||
.application-body .selection-count { color:#3d5df6; font-size:15px; font-weight:600; }
|
||||
.application-body .entity-directory-toolbar-actions { display:flex; align-items:center; gap:8px; justify-self:end; }
|
||||
.application-body .bulk-action-btn { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:6px 14px; background:#fff; border:1px solid #dfe3ec; border-radius:6px; color:#050841; font-size:13px; font-weight:500; cursor:pointer; box-shadow:0 1px 2px rgba(5,8,65,0.04); transition:all .15s ease; }
|
||||
.application-body .bulk-action-btn:hover { background:#f7f9fd; border-color:#bcc6e5; color:#3d5df6; }
|
||||
.application-body .bulk-action-btn.bulk-delete { color:#f63d48; border-color:#fbd3d6; background:#fff; }
|
||||
.application-body .bulk-action-btn.bulk-delete:hover { background:#fef2f2; border-color:#f63d48; color:#d32f2f; }
|
||||
.application-body .bulk-action-btn.bulk-clear { color:#687086; border-color:#e4e7ed; }
|
||||
.application-body .bulk-action-btn.bulk-clear:hover { background:#f4f6fa; border-color:#a5a9c1; color:#050841; }
|
||||
.application-body .entity-directory-head > span { font-size:14px; font-weight:400; color:#a5a9c1; text-transform:none; }
|
||||
.application-body .entity-directory-head > span:nth-child(2) { text-align:left; padding-left:2px; }
|
||||
.application-body .entity-directory-row,.application-body .entity-directory-row.columns-1,.application-body .entity-directory-row.columns-2,.application-body .entity-directory-row.columns-3 { grid-template-columns:36px 64px minmax(14rem,1fr) 36px; gap:8px; min-height:57px; padding:0; border-bottom:1px solid #edf0f5; }
|
||||
.application-body .entity-directory-table.read-only .entity-directory-row { grid-template-columns:30px minmax(0,1fr); }
|
||||
.application-body .entity-directory-row.selected { background:#f1f5fe; }
|
||||
.application-body .entity-directory-name a,.application-body .entity-directory-name strong { color:#050841; font-size:15px; font-weight:500; }
|
||||
.application-body .entity-row-actions > summary { display:grid; place-items:center; width:24px; height:24px; color:#a5a9c1; background:transparent; border-radius:50%; font-size:18px; }
|
||||
.application-body .entity-row-actions > summary:hover { background:rgba(0,0,0,0.04); }
|
||||
.application-body .entity-directory-row .workspace-pill-icon { width:24px; height:24px; display:flex; align-items:center; justify-content:center; justify-self:start; margin-left:2px; background:#3c4679; border-radius:50%; color:#fff; }
|
||||
.application-body .entity-directory-row .workspace-pill-icon.ingredient { background:#3f908a; }
|
||||
.application-body .entity-directory-row .workspace-pill-icon.book { background:#f3a642; }
|
||||
.application-body .entity-directory-row .workspace-pill-icon.purchase { background:#3f908a; }
|
||||
.application-body .entity-row-actions > div { border:0; border-radius:4px; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); }
|
||||
.application-body .entity-row-actions button { color:#f63d48; }
|
||||
.visually-hidden {
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
padding: 0 !important;
|
||||
margin: -1px !important;
|
||||
overflow: hidden !important;
|
||||
clip: rect(0, 0, 0, 0) !important;
|
||||
white-space: nowrap !important;
|
||||
border: 0 !important;
|
||||
}
|
||||
.application-body input[type="checkbox"] { accent-color:#3d5df6; }
|
||||
.application-body .entity-directory-toolbar input[type="checkbox"],.application-body .entity-directory-row > input[type="checkbox"] { appearance:none; width:20px; height:20px; margin:0 0 0 8px; background:transparent; border:2px solid #ececec; border-radius:2px; cursor:pointer; }
|
||||
.application-body .entity-directory-toolbar input[type="checkbox"]:checked,.application-body .entity-directory-row > input[type="checkbox"]:checked { background:#3d5df6; border-color:#3d5df6; }
|
||||
.application-body .entity-directory-toolbar input[type="checkbox"]:checked::after,.application-body .entity-directory-row > input[type="checkbox"]:checked::after { content:""; display:block; width:5px; height:9px; margin:1px 0 0 5px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
|
||||
.application-body .entity-directory-toolbar input[type="checkbox"]:indeterminate,.application-body .entity-directory-row > input[type="checkbox"]:indeterminate { background:#3d5df6; border-color:#3d5df6; }
|
||||
.application-body .entity-directory-toolbar input[type="checkbox"]:indeterminate::after,.application-body .entity-directory-row > input[type="checkbox"]:indeterminate::after { content:""; display:block; width:10px; height:2px; margin:7px 0 0 3px; background:#fff; }
|
||||
.application-body .entity-row-actions > summary svg { display:block; width:24px; height:24px; }
|
||||
.application-body .workspace-pill-icon svg { display:block; width:20px; height:20px; }
|
||||
.application-body .workspace-pills > a .workspace-pill-icon svg { width:20px; height:20px; padding:1.5px; }
|
||||
.application-body .directory-error { padding:11px 20px; color:#f63d48; background:#fff1f2; border-bottom:1px solid #ffd7d9; }
|
||||
.application-body .entity-directory-table .empty-state,.application-body .workspace-search-results .empty-state { padding:40px 20px; color:#a5a9c1; font-size:14px; font-weight:400; }
|
||||
.application-body .workspace-search-results > p { margin:0; padding:0 20px 12px; color:#a5a9c1; font-size:14px; font-weight:400; }
|
||||
.application-body .workspace-search-results > p strong { color:#050841; font-weight:500; }
|
||||
/* Search results reuse EntityDirectory: detail line sits under the name. */
|
||||
.application-body .entity-directory-name small { display:block; margin-top:2px; color:#a5a9c1; font-size:12px; font-weight:400; line-height:1.4; }
|
||||
.application-body .delete-confirmation h2 { color:#202962; }
|
||||
.application-body .delete-confirmation > div button { padding:0; background:transparent; border:0; cursor:pointer; color:#050841; font-size:15px; font-weight:500; }
|
||||
.application-body .workspace-new-menu > nav a,.application-body .detail-new-menu > div a { font-size:16px; font-weight:400; }
|
||||
.application-body .entity-row-actions a,.application-body .entity-row-actions button { border-radius:0; }
|
||||
|
||||
/* Full-width entity workspaces */
|
||||
.application-body .immersive-main { color:#050841; background:#fff; }
|
||||
.application-body .detail-utility { min-height:58px; padding:8px 28px; background:#ffffff; border-color:#edf0f5; }
|
||||
.application-body .detail-utility input::placeholder { color:#a5a9c1; }
|
||||
.application-body .detail-utility > a { color:#202962; font-size:13px; font-weight:500; }
|
||||
.application-body .immersive-main .entity-detail-header { min-height:164px; padding:25px 38px; border-color:#eeeef3; }
|
||||
.application-body .entity-detail-header h1 { margin:9px 0 4px; color:#050841; font-size:28px; font-weight:600; line-height:1.18; letter-spacing:-.025em; }
|
||||
.application-body .entity-detail-header p { color:#a5a9c1; font-size:13px; }
|
||||
.application-body .entity-breadcrumb a { color:#647df8; font-size:13px; }
|
||||
.application-body .identity-edit > summary { padding:7px 15px; color:#3d5df6; border-color:#3d5df6; border-radius:999px; font-size:13px; font-weight:600; }
|
||||
.application-body .immersive-main .entity-detail-grid,.application-body .immersive-main .recipe-structure-workspace .structure-editor { border-color:#eeeef3; }
|
||||
.application-body .immersive-main .entity-primary { padding:42px 38px; border-color:#eeeef3; }
|
||||
.application-body .immersive-main .entity-secondary { padding:0 32px; }
|
||||
.application-body .entity-tabs { min-height:58px; border-color:#edf0f5; }
|
||||
.application-body .entity-tabs button,.application-body .recipe-workspace-tabs button { padding:17px 10px; color:#202962; font-size:15px; font-weight:400; }
|
||||
.application-body .entity-tabs button.active,.application-body .recipe-workspace-tabs button.active { color:#050841; background:#f1f5fe; border-bottom:2px solid #3d5df6; }
|
||||
.application-body .entity-tab-panel { padding-top:38px; }
|
||||
.application-body .entity-section { margin-bottom:48px; }
|
||||
.application-body .entity-section h2,.application-body .entity-tab-panel h2,.application-body .recipe-view-method h2 { font-size:20px; font-weight:600; }
|
||||
.application-body .panel-intro,.application-body .empty-copy { color:#a5a9c1; font-size:13px; }
|
||||
.application-body .prep-action-table th,.application-body .prep-action-table td { padding:12px 8px; border-color:#eeeef3; }
|
||||
.application-body .prep-action-table th { color:#a5a9c1; font-size:11px; font-weight:500; letter-spacing:.03em; text-transform:none; }
|
||||
.application-body .additional-card { padding:25px 0; border:0; border-top:1px solid #eeeef3; }
|
||||
.application-body .additional-card > details { border-bottom:1px solid #eeeef3; }
|
||||
|
||||
/* Recipe workspace and controls */
|
||||
.application-body .immersive-main .recipe-detail-shell .entity-detail-header { min-height:116px; padding:20px 38px; }
|
||||
.application-body .immersive-main .recipe-workspace-tabs { border-color:#f3f3f3; }
|
||||
.application-body .recipe-overview-strip { border-color:#eeeef3; }
|
||||
.application-body .recipe-yield-summary { border-color:#eeeef3; border-radius:2px; }
|
||||
.application-body .recipe-yield-summary span,.application-body .recipe-yield-summary small { color:#a5a9c1; }
|
||||
.application-body .recipe-structure-workspace .component-editor,.application-body .recipe-structure-workspace .method-editor,.application-body .recipe-structure-workspace .method-editor li { border-color:#eeeef3; }
|
||||
.application-body .recipe-structure-workspace .component-editor { border-radius:0; box-shadow:none; }
|
||||
.application-body .recipe-structure-workspace .section-heading h2 { color:#050841; font-size:20px; font-weight:600; }
|
||||
.application-body table th { color:#a5a9c1; font-size:11px; font-weight:500; letter-spacing:.02em; text-transform:none; }
|
||||
.application-body table td { color:#202962; }
|
||||
.application-body th,.application-body td { border-color:#eeeef3; }
|
||||
.application-body input:not([type="checkbox"]):not([type="radio"]),.application-body select,.application-body textarea { color:#050841; border-color:#e4e5ed; border-radius:3px; }
|
||||
.application-body .detail-utility input[type="search"] { min-height:40px; color:#050841; background:transparent; border:0; border-bottom:1px solid #e4e5ed; border-radius:0; }
|
||||
.application-body button { border-radius:3px; }
|
||||
.application-body .primary-command,.application-body .editor-actions button,.application-body .inline-form button { background:#3d5df6; }
|
||||
.application-body .recipe-view-method li { border-color:#eeeef3; }
|
||||
.application-body .recipe-view-method li > strong { color:#647df8; }
|
||||
.application-body .detail-utility .detail-new { background:#3d5df6; border-radius:999px; }
|
||||
.application-body .edit-command { color:#3d5df6; border-color:#3d5df6; border-radius:999px; }
|
||||
.application-body .ingredient-purchase-form .purchase-form-actions button { border-radius:999px; }
|
||||
.application-body .nutrition-source,.application-body .muted { color:#a5a9c1; }
|
||||
.application-body .recipe-edit-nutrition { width:48%; margin-left:52%; padding:38px 32px 56px; border-top:1px solid #eeeef3; border-left:1px solid #eeeef3; }
|
||||
.application-body .nutrition-readiness { max-width:560px; margin-bottom:28px; }
|
||||
.application-body .nutrition-readiness > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:20px; }
|
||||
.application-body .nutrition-readiness h2 { margin:0 0 3px; font-size:20px; font-weight:600; }
|
||||
.application-body .nutrition-readiness p { margin:0; color:#a5a9c1; font-size:13px; }
|
||||
.application-body .nutrition-readiness > header button { padding:8px 15px; color:#fff; background:#3d5df6; border:0; border-radius:18px; font-weight:600; cursor:pointer; }
|
||||
.application-body .nutrition-readiness > header button:disabled { color:#a5a9c1; background:#f1f1f4; cursor:not-allowed; }
|
||||
.application-body .nutrition-check { display:grid; grid-template-columns:26px 1fr; align-items:center; gap:10px; min-height:58px; padding:8px 12px; background:#fff8f2; border:1px solid #f6e2d2; }
|
||||
.application-body .nutrition-check.complete { background:#f3faf8; border-color:#d9eee9; }
|
||||
.application-body .nutrition-check > span,.application-body .nutrition-status-dot { display:grid; place-items:center; width:22px; height:22px; color:#fff; background:#e19351; border-radius:50%; font-size:11px; font-weight:700; }
|
||||
.application-body .nutrition-check.complete > span,.application-body .nutrition-status-dot.mapped { background:#40b49a; }
|
||||
.application-body .nutrition-check strong,.application-body .nutrition-check small { display:block; }
|
||||
.application-body .nutrition-check small { margin-top:2px; color:#8b93a7; }
|
||||
.application-body .nutrition-serving-form { display:flex; align-items:center; gap:7px; margin-top:9px; }
|
||||
.application-body .nutrition-serving-form input { width:110px; min-height:34px; padding:6px 8px; background:#fff; }
|
||||
.application-body .nutrition-serving-form button { min-height:34px; padding:6px 12px; color:#fff; background:#3d5df6; border:0; font-weight:600; }
|
||||
.application-body .retention-input { display:flex; align-items:center; gap:4px; }.application-body .retention-input input { width:68px; }
|
||||
.application-body .auto-yield-action { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:12px; width:48%; margin-left:52%; padding:18px 32px; border-left:1px solid #eeeef3; border-top:1px solid #eeeef3; }.application-body .auto-yield-action button { padding:8px 12px; color:#fff; background:#3d5df6; border:0; }.application-body .auto-yield-action small { grid-column:1/-1; color:#a5a9c1; }
|
||||
.application-body .cost-diagnostics { margin-top:18px; padding:12px; color:#8a4b25; background:#fff8f2; }.application-body .cost-diagnostics summary { cursor:pointer; font-weight:600; }.application-body .cost-diagnostics ul { padding-left:20px; }
|
||||
.recipe-cost-ledger { color:#050841; }
|
||||
.recipe-cost-ledger > header { margin-bottom:26px; }
|
||||
.recipe-cost-ledger > header h2 { margin:0 0 6px !important; font-size:24px; }
|
||||
.recipe-cost-ledger > header p { margin:0; color:#8d92a2; font-size:14px; line-height:1.5; }
|
||||
.cost-ledger-heading {
|
||||
display: flex !important;
|
||||
justify-content: space-between !important;
|
||||
align-items: center !important;
|
||||
padding: 10px 18px !important;
|
||||
color: #8b93a7 !important;
|
||||
border-bottom: 1px solid #eeeef3 !important;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
.cost-ledger-heading .head-subject {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
flex-wrap: nowrap !important;
|
||||
white-space: nowrap !important;
|
||||
gap: 2px !important;
|
||||
color: #8b93a7 !important;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
.cost-ledger-heading .head-cost {
|
||||
color: #8b93a7 !important;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500 !important;
|
||||
text-align: right !important;
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
.cost-ledger-heading button {
|
||||
padding: 0 2px !important;
|
||||
color: #3d5df6 !important;
|
||||
background: transparent !important;
|
||||
border: 0 !important;
|
||||
font: inherit !important;
|
||||
cursor: pointer !important;
|
||||
font-size: 13px !important;
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
.cost-ledger-heading button:hover {
|
||||
color: #2b44c2 !important;
|
||||
}
|
||||
.cost-ledger-heading i {
|
||||
color: #8b93a7 !important;
|
||||
font-style: normal !important;
|
||||
margin: 0 4px !important;
|
||||
}
|
||||
.cost-ledger-line {
|
||||
border-bottom: 1px solid #eeeef3;
|
||||
background: #fff;
|
||||
}
|
||||
.cost-ledger-line > summary {
|
||||
display: grid;
|
||||
grid-template-columns: 24px 30px minmax(0, 1fr) 24px 140px;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
min-height: 56px;
|
||||
padding: 10px 18px;
|
||||
list-style: none;
|
||||
background: #fff;
|
||||
transition: background 0.12s ease;
|
||||
}
|
||||
.cost-ledger-line > summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
.cost-ledger-line.has-children > summary {
|
||||
cursor: pointer;
|
||||
}
|
||||
.cost-ledger-line.has-children > summary:hover {
|
||||
background: #f8faff;
|
||||
}
|
||||
.cost-ledger-line.flat > summary {
|
||||
cursor: default;
|
||||
}
|
||||
.cost-toggle-marker {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
color: #8b93a7;
|
||||
}
|
||||
.cost-toggle-marker .chevron-icon {
|
||||
transition: transform 0.15s ease;
|
||||
}
|
||||
.cost-ledger-line[open] > summary .cost-toggle-marker .chevron-icon {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.cost-subject-icon {
|
||||
display: grid;
|
||||
grid-column: 2;
|
||||
place-items: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
color: #fff;
|
||||
background: #54a19a;
|
||||
border-radius: 50%;
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.cost-subject-icon.recipe {
|
||||
background: #6771a7;
|
||||
}
|
||||
.cost-subject-name {
|
||||
grid-column: 3;
|
||||
color: #050841;
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
text-decoration: none;
|
||||
}
|
||||
.cost-subject-name:hover {
|
||||
color: #3d5df6;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.cost-attention-slot {
|
||||
grid-column: 4;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.cost-attention-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
color: #f3a642;
|
||||
background: #fff8eb;
|
||||
border-radius: 50%;
|
||||
cursor: help;
|
||||
position: relative;
|
||||
}
|
||||
.cost-attention-badge svg {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
.cost-line-value {
|
||||
grid-column: 5;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
}
|
||||
.cost-editable-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
justify-content: flex-end;
|
||||
color: #3d5df6;
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
padding: 4px 8px;
|
||||
border-radius: 4px;
|
||||
transition: all 0.15s ease;
|
||||
}
|
||||
.cost-editable-link:hover {
|
||||
background: #f1f5fe;
|
||||
color: #202962;
|
||||
}
|
||||
.cost-edit-icon {
|
||||
font-size: 12px;
|
||||
color: #8b93a7;
|
||||
}
|
||||
.cost-editable-link:hover .cost-edit-icon {
|
||||
color: #3d5df6;
|
||||
}
|
||||
.cost-line-detail {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(120px, .4fr);
|
||||
gap: 20px 40px;
|
||||
padding: 16px 54px 24px;
|
||||
background: #fbfbfd;
|
||||
border-top: 1px solid #f0f2f6;
|
||||
}
|
||||
.cost-line-detail > div:not(.cost-child-lines) {
|
||||
display: grid;
|
||||
gap: 4px;
|
||||
}
|
||||
.cost-line-detail small {
|
||||
color: #8b93a7;
|
||||
font-size: 12px;
|
||||
}
|
||||
.cost-line-detail strong {
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
}
|
||||
.cost-child-lines {
|
||||
grid-column: 1 / -1;
|
||||
border-top: 1px solid #eeeef3;
|
||||
}
|
||||
.cost-summary { width:min(520px,100%); margin:52px 0 0 auto; }
|
||||
.cost-summary > div { display:grid; gap:8px; margin-bottom:18px; }
|
||||
.cost-summary > div > strong { font-size:14px; }
|
||||
.cost-summary > div > span { display:flex; justify-content:space-between; min-height:58px; padding:18px 20px; background:#f7f7f8; font-size:16px; }
|
||||
.cost-summary small { font:inherit; }
|
||||
.application-body .entity-header-actions { display:flex; align-items:center; gap:8px; }
|
||||
.application-body .detail-actions-menu { position:relative; z-index:12; }
|
||||
.application-body .detail-actions-menu > summary { display:grid; place-items:center; width:36px; height:36px; color:#a5a9c1; border-radius:50%; cursor:pointer; font-size:22px; line-height:1; list-style:none; }
|
||||
.application-body .detail-actions-menu > summary::-webkit-details-marker { display:none; }
|
||||
.application-body .detail-actions-menu > summary:hover,.application-body .detail-actions-menu[open] > summary { color:#202962; background:#f1f5fe; }
|
||||
.application-body .detail-actions-menu > div { position:absolute; top:42px; right:0; width:200px; padding:6px 0; background:#fff; border:0; border-radius:4px; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); overflow:hidden; }
|
||||
.application-body .detail-actions-menu form { width:100% !important; max-width:100% !important; flex:none !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
|
||||
.application-body .detail-actions-menu button { display:block; width:100% !important; max-width:100% !important; min-height:44px; padding:10px 20px; color:#050841; background:transparent; border:0; border-radius:0; cursor:pointer; font-size:15px; font-weight:500; text-align:left; white-space:nowrap; box-sizing:border-box; }
|
||||
.application-body .detail-actions-menu button:hover { background:#f1f5fe; }
|
||||
@@ -0,0 +1,84 @@
|
||||
/* Purchasing Review Tool */
|
||||
.application-body .purchasing-review-page { min-height: 100vh; background: #ffffff; padding-top: 48px; }
|
||||
.application-body .purchasing-review-workspace { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 64px; }
|
||||
.application-body .purchasing-review-header { margin-bottom: 24px; }
|
||||
.application-body .purchasing-breadcrumbs { margin-bottom: 8px; }
|
||||
.application-body .purchasing-breadcrumbs a { display: inline-flex; align-items: center; gap: 4px; color: #3d5df6; font-size: 14px; font-weight: 500; text-decoration: none; }
|
||||
.application-body .purchasing-review-header h1 { margin: 0 0 6px; color: #050841; font-size: 28px; font-weight: 700; letter-spacing: -0.015em; }
|
||||
.application-body .purchasing-subtitle { color: #8b93a7; font-size: 14px; margin: 0; }
|
||||
.application-body .purchasing-review-toolbar { position: sticky; top: 52px; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; margin-bottom: 24px; background: #fff; border: 1px solid #eef0f5; border-radius: 8px; box-shadow: 0 2px 8px rgba(5,8,65,0.06); }
|
||||
.application-body .purchasing-review-stats { display: flex; flex-direction: column; gap: 2px; }
|
||||
.application-body .stats-counter { display: flex; align-items: center; gap: 6px; }
|
||||
.application-body .stats-count { color: #3d5df6; font-size: 16px; font-weight: 700; }
|
||||
.application-body .stats-label { color: #050841; font-size: 14px; font-weight: 500; }
|
||||
.application-body .stats-hint { color: #8b93a7; font-size: 12px; }
|
||||
.application-body .purchasing-review-actions { display: flex; align-items: center; gap: 12px; }
|
||||
.application-body .purchasing-search-box { display: flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; background: #ffffff; border: 1px solid #dfe3ec; border-radius: 4px; }
|
||||
.application-body .purchasing-search-box .search-icon { color: #8283a0; flex: none; }
|
||||
.application-body .purchasing-search-box input { border: 0; background: transparent; outline: none; font-family: var(--meez-font-sans); font-size: 14px; color: #050841; min-width: 180px; }
|
||||
.application-body .search-clear-btn { background: transparent; border: 0; color: #a5a9c1; font-size: 18px; cursor: pointer; padding: 0 2px; }
|
||||
.application-body .purchasing-filter-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
|
||||
.application-body .purchasing-filter-toggle input { position: absolute; opacity: 0; width: 0; height: 0; }
|
||||
.application-body .toggle-track { display: inline-block; width: 34px; height: 18px; background: #cbd1dc; border-radius: 12px; position: relative; transition: background 0.15s ease; }
|
||||
.application-body .toggle-thumb { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; background: #fff; border-radius: 50%; transition: transform 0.15s ease; }
|
||||
.application-body .purchasing-filter-toggle input:checked + .toggle-track { background: #3d5df6; }
|
||||
.application-body .purchasing-filter-toggle input:checked + .toggle-track .toggle-thumb { transform: translateX(16px); }
|
||||
.application-body .toggle-label { color: #050841; font-size: 13px; font-weight: 500; }
|
||||
.application-body .purchasing-export-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 16px; background: #3d5df6; color: #fff; border: 0; border-radius: 100px; font-family: var(--meez-font-sans); font-size: 14px; font-weight: 500; cursor: pointer; box-shadow: 0 2px 6px rgba(61, 93, 246, 0.28); transition: background 0.15s ease; }
|
||||
.application-body .purchasing-export-btn:hover { background: #2b4be0; }
|
||||
.application-body .purchasing-products-grid { display: flex; flex-direction: column; gap: 20px; }
|
||||
.application-body .purchasing-card { padding: 24px; background: #fff; border: 1px solid #eef0f5; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: border-color 0.15s ease; }
|
||||
.application-body .purchasing-card.resolved { border-left: 3px solid #40b49a; }
|
||||
.application-body .purchasing-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #edf0f5; }
|
||||
.application-body .purchasing-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
|
||||
.application-body .supplier-badge { display: inline-flex; padding: 2px 8px; background: #eef2ff; border-radius: 4px; color: #3d5df6; font-size: 12px; font-weight: 600; text-transform: capitalize; }
|
||||
.application-body .supplier-badge.walmart { background: #e6f1fc; color: #0071dc; }
|
||||
.application-body .supplier-badge.sams_club { background: #e1f5fe; color: #0067a0; }
|
||||
.application-body .sku-badge, .application-body .package-badge { display: inline-flex; padding: 2px 8px; background: #f7f7f8; border: 1px solid #ececec; border-radius: 4px; color: #687086; font-size: 12px; font-weight: 500; }
|
||||
.application-body .price-badge { display: inline-flex; padding: 2px 8px; background: #e8f5e9; border-radius: 4px; color: #2e7d32; font-size: 12px; font-weight: 700; }
|
||||
.application-body .purchasing-product-name { margin: 0; color: #050841; font-size: 18px; font-weight: 600; }
|
||||
.application-body .purchasing-external-link { display: inline-flex; align-items: center; gap: 4px; color: #3d5df6; font-size: 13px; font-weight: 500; text-decoration: none; white-space: nowrap; }
|
||||
.application-body .purchasing-external-link:hover { text-decoration: underline; }
|
||||
.application-body .candidates-heading { display: block; margin-bottom: 12px; color: #687086; font-size: 13px; font-weight: 600; }
|
||||
.application-body .candidate-options-list { display: flex; flex-direction: column; gap: 8px; }
|
||||
.application-body .candidate-option-card { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 16px; background: #fff; border: 1px solid #dfe3ec; border-radius: 6px; cursor: pointer; transition: all 0.12s ease; }
|
||||
.application-body .candidate-option-card:hover { background: #f7f9fd; border-color: #bcc6e5; }
|
||||
.application-body .candidate-option-card.selected { background: #f1f5fe; border-color: #3d5df6; box-shadow: 0 0 0 1px #3d5df6; }
|
||||
.application-body .candidate-radio { display: none; }
|
||||
.application-body .candidate-custom-radio { display: grid; place-items: center; width: 18px; height: 18px; border: 2px solid #a5a9c1; border-radius: 50%; flex: none; transition: all 0.12s ease; }
|
||||
.application-body .candidate-custom-radio i { width: 8px; height: 8px; background: transparent; border-radius: 50%; transition: background 0.12s ease; }
|
||||
.application-body .candidate-option-card.selected .candidate-custom-radio { border-color: #3d5df6; }
|
||||
.application-body .candidate-option-card.selected .candidate-custom-radio i { background: #3d5df6; }
|
||||
.application-body .candidate-info { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
|
||||
.application-body .candidate-name { color: #050841; font-size: 15px; font-weight: 500; }
|
||||
.application-body .candidate-meta { color: #8b93a7; font-size: 12px; }
|
||||
.application-body .candidate-score-badge { display: inline-flex; padding: 2px 8px; background: #f1f5fe; border-radius: 12px; color: #3d5df6; font-size: 12px; font-weight: 600; }
|
||||
.application-body .candidate-score-badge.high { background: #e8f5e9; color: #2e7d32; }
|
||||
.application-body .candidate-option-card.none { border-style: dashed; }
|
||||
.application-body .candidate-other-option { margin: 4px 0; padding: 6px 0; }
|
||||
.application-body .other-select-label { display: flex; align-items: center; gap: 12px; }
|
||||
.application-body .other-select-text { color: #687086; font-size: 13px; font-weight: 500; white-space: nowrap; }
|
||||
.application-body .purchasing-select { flex: 1; min-height: 38px; padding: 6px 12px; background: #fff; border: 1px solid #dfe3ec; border-radius: 4px; color: #050841; font-family: var(--meez-font-sans); font-size: 14px; outline: none; cursor: pointer; }
|
||||
.application-body .purchasing-select:focus { border-color: #3d5df6; }
|
||||
.application-body .purchasing-notice-card { display: flex; align-items: flex-start; gap: 14px; padding: 24px; background: #fff; border: 1px solid #eef0f5; border-radius: 6px; color: #050841; }
|
||||
.application-body .purchasing-notice-card svg { color: #3d5df6; flex: none; margin-top: 2px; }
|
||||
.application-body .purchasing-notice-card strong { display: block; margin-bottom: 4px; font-size: 16px; }
|
||||
.application-body .purchasing-notice-card p { margin: 0; color: #8b93a7; font-size: 14px; }
|
||||
.application-body .ingredient-merge { margin:24px 0; padding:16px; border:1px solid #f0d6d6; }
|
||||
.application-body .ingredient-merge summary { color:#a73838; cursor:pointer; font-weight:600; }
|
||||
.application-body .ingredient-merge form { display:flex; gap:8px; }
|
||||
.application-body .ingredient-merge select { flex:1; padding:8px; }
|
||||
.application-body .ingredient-merge button { color:#fff; background:#f63d48; border:0; padding:8px 12px; }
|
||||
.application-body .recipe-additional-view { display:grid; grid-template-columns:minmax(0,360px) minmax(0,1fr); gap:32px; margin:36px 38px; padding-top:30px; border-top:1px solid #eeeef3; }.application-body .recipe-additional-view figure { margin:0; }.application-body .recipe-additional-view img { display:block; width:100%; max-height:300px; object-fit:cover; }.application-body .recipe-additional-view h2 { font-size:20px; }.application-body .recipe-additional-view p { display:grid; grid-template-columns:120px 1fr; padding:10px 0; border-bottom:1px solid #eeeef3; }.application-body .recipe-additional-view ul { color:#202962; }
|
||||
.application-body .recipe-media-form { grid-template-columns:110px 150px 1fr 1fr auto; align-items:end; margin-top:26px; padding-top:20px; border-top:1px solid #eeeef3; }.application-body .recipe-media-form h3 { grid-column:1/-1; margin:0; font-size:16px; }.application-body .step-media { margin:14px 0 0; }.application-body .step-media img,.application-body .step-media video { display:block; width:min(100%,420px); max-height:300px; object-fit:cover; }.application-body .step-media figcaption { margin-top:5px; color:#8b93a7; font-size:12px; }
|
||||
|
||||
/* Responsive application geometry. Keep wide workspaces useful without allowing
|
||||
a two-pane layout to squeeze either pane below its usable width. */
|
||||
.application-body { overflow-x:clip; }
|
||||
.application-body .entity-detail-shell,.application-body .recipe-detail-shell,
|
||||
.application-body .entity-detail-grid,.application-body .entity-primary,.application-body .entity-secondary,
|
||||
.application-body .recipe-view-workspace,.application-body .recipe-view-formula,.application-body .recipe-view-details,
|
||||
.application-body .recipe-edit-workspace,.application-body .recipe-edit-structure,.application-body .recipe-edit-static-method,
|
||||
.application-body .structure-editor,.application-body .component-editor,.application-body .table-wrap { min-width:0; max-width:100%; }
|
||||
.application-body .table-wrap { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-gutter:stable; }
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
/* Recipe Books */
|
||||
.application-body .recipe-book-page { min-height: 100vh; background: #ffffff; padding-top: 48px; }
|
||||
.application-body .recipe-book-workspace { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 64px; }
|
||||
.application-body .recipe-book-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
|
||||
.application-body .recipe-book-breadcrumbs { margin-bottom: 8px; }
|
||||
.application-body .recipe-book-breadcrumbs a { display: inline-flex; align-items: center; gap: 4px; color: #3d5df6; font-size: 14px; font-weight: 500; text-decoration: none; transition: color 0.15s ease; }
|
||||
.application-body .recipe-book-breadcrumbs a:hover { color: #202962; }
|
||||
.application-body .recipe-book-header h1 { margin: 0 0 6px; color: #050841; font-size: 28px; font-weight: 700; letter-spacing: -0.015em; }
|
||||
.application-body .recipe-book-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
|
||||
.application-body .recipe-book-count-badge { display: inline-flex; align-items: center; padding: 3px 10px; background: #fff; border: 1px solid #dfe3ec; border-radius: 999px; color: #687086; font-size: 13px; font-weight: 500; }
|
||||
.application-body .recipe-book-count-badge .count-number { color: #3d5df6; font-weight: 700; margin-right: 4px; }
|
||||
.application-body .recipe-book-desc, .application-body .recipe-book-subtitle { color: #8b93a7; font-size: 14px; font-weight: 400; margin: 0; }
|
||||
.application-body .recipe-book-header-actions { display: flex; align-items: center; gap: 10px; }
|
||||
.application-body .book-action-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 16px; color: #3d5df6; background: #fff; border: 1px solid #dfe3ec; border-radius: 100px; font-size: 14px; font-weight: 500; text-decoration: none; box-shadow: 0 1px 2px rgba(5,8,65,0.04); transition: all 0.15s ease; }
|
||||
.application-body .book-action-btn:hover { background: #f7f9fd; border-color: #bcc6e5; }
|
||||
.application-body .book-action-btn.active { color: #687086; }
|
||||
.application-body .book-notice { margin-bottom: 20px; padding: 12px 16px; background: #fff1f1; border: 1px solid #f5cece; border-radius: 6px; color: #8d2e2e; font-size: 14px; }
|
||||
.application-body .book-directory-table { background: #fff; border: 1px solid #eef0f5; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
|
||||
.application-body .book-directory-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 20px; background: #ffffff; border-bottom: 1px solid #edf0f5; }
|
||||
.application-body .book-toolbar-title { color: #050841; font-size: 14px; font-weight: 600; }
|
||||
.application-body .book-toolbar-count { color: #8b93a7; font-size: 13px; font-weight: 400; }
|
||||
.application-body .book-recipe-list { display: flex; flex-direction: column; }
|
||||
.application-body .book-recipe-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 12px; min-height: 58px; padding: 0 20px; border-bottom: 1px solid #edf0f5; transition: background-color 0.12s ease; }
|
||||
.application-body .book-recipe-row:last-child { border-bottom: 0; }
|
||||
.application-body .book-recipe-row:hover { background: #f8faff; }
|
||||
.application-body .book-recipe-icon { width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; background: #3c4679; border-radius: 50%; color: #fff; }
|
||||
.application-body .book-recipe-title { color: #050841; font-size: 15px; font-weight: 500; text-decoration: none; transition: color 0.12s ease; }
|
||||
.application-body .book-recipe-title:hover { color: #3d5df6; }
|
||||
.application-body .book-recipe-arrow { display: grid; place-items: center; width: 28px; height: 28px; color: #a5a9c1; border-radius: 50%; text-decoration: none; transition: all 0.12s ease; }
|
||||
.application-body .book-recipe-row:hover .book-recipe-arrow { color: #3d5df6; background: #f1f5fe; }
|
||||
.application-body .book-empty-state, .application-body .archive-empty-state, .application-body .purchasing-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 24px; background: #fff; border: 1px solid #eef0f5; border-radius: 6px; text-align: center; }
|
||||
.application-body .book-empty-state .empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 16px; background: #f1f5fe; border-radius: 50%; color: #3d5df6; font-size: 24px; }
|
||||
.application-body .book-empty-state h3, .application-body .archive-empty-state h3, .application-body .purchasing-empty-state h3 { margin: 0 0 6px; color: #050841; font-size: 18px; font-weight: 600; }
|
||||
.application-body .book-empty-state p, .application-body .archive-empty-state p, .application-body .purchasing-empty-state p { margin: 0 0 20px; color: #8b93a7; font-size: 14px; max-width: 420px; }
|
||||
.application-body .book-add-recipes-btn, .application-body .archive-back-btn, .application-body .purchasing-reset-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 20px; background: #3d5df6; color: #fff; border: 0; border-radius: 100px; font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; box-shadow: 0 2px 6px rgba(61, 93, 246, 0.28); transition: background 0.15s ease; }
|
||||
.application-body .book-add-recipes-btn:hover, .application-body .archive-back-btn:hover, .application-body .purchasing-reset-btn:hover { background: #2b4be0; }
|
||||
|
||||
/* Recipe Book Editing */
|
||||
.application-body .book-edit-form { display: flex; flex-direction: column; gap: 20px; }
|
||||
.application-body .book-edit-card { padding: 24px; background: #fff; border: 1px solid #eef0f5; border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
|
||||
.application-body .book-edit-card h2 { margin: 0 0 16px; color: #050841; font-size: 18px; font-weight: 600; }
|
||||
.application-body .book-edit-card-header { margin-bottom: 16px; }
|
||||
.application-body .section-subtitle { margin: 4px 0 0; color: #8b93a7; font-size: 14px; }
|
||||
.application-body .book-field-group { display: flex; flex-direction: column; gap: 16px; }
|
||||
.application-body .book-field-group label { display: flex; flex-direction: column; gap: 6px; }
|
||||
.application-body .field-label { color: #050841; font-size: 13px; font-weight: 600; }
|
||||
.application-body .book-input, .application-body .book-textarea { width: 100%; padding: 10px 14px; background: #fff; border: 1px solid #dfe3ec; border-radius: 4px; color: #050841; font-family: var(--meez-font-sans); font-size: 15px; font-weight: 400; outline: none; box-sizing: border-box; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
|
||||
.application-body .book-input:focus, .application-body .book-textarea:focus { border-color: #3d5df6; box-shadow: 0 0 0 2px rgba(61, 93, 246, 0.15); }
|
||||
.application-body .book-recipe-checklist { display: flex; flex-direction: column; gap: 4px; max-height: 480px; overflow-y: auto; padding-right: 4px; }
|
||||
.application-body .book-checklist-item { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 14px; background: #fff; border: 1px solid #edf0f5; border-radius: 6px; cursor: pointer; transition: background 0.12s ease, border-color 0.12s ease; }
|
||||
.application-body .book-checklist-item:hover { background: #f7f9fd; border-color: #e4e7ed; }
|
||||
.application-body .book-checklist-item:has(.book-checkbox:checked) { background: #f1f5fe; border-color: #cfd5fa; }
|
||||
.application-body .book-checkbox { width: 18px; height: 18px; margin: 0; accent-color: #3d5df6; cursor: pointer; }
|
||||
.application-body .book-checklist-label { display: flex; align-items: center; gap: 8px; flex: 1; }
|
||||
.application-body .book-checklist-label strong { color: #050841; font-size: 14px; font-weight: 500; }
|
||||
.application-body .book-edit-actions { display: flex; align-items: center; gap: 16px; padding: 12px 0; }
|
||||
.application-body .book-save-btn { min-height: 40px; padding: 0 24px; background: #3d5df6; color: #fff; border: 0; border-radius: 100px; font-family: var(--meez-font-sans); font-size: 15px; font-weight: 500; cursor: pointer; box-shadow: 0 2px 6px rgba(61, 93, 246, 0.28); transition: background 0.15s ease; }
|
||||
.application-body .book-save-btn:hover { background: #2b4be0; }
|
||||
.application-body .book-cancel-link { color: #687086; font-size: 14px; font-weight: 500; text-decoration: none; padding: 8px 12px; transition: color 0.12s ease; }
|
||||
.application-body .book-cancel-link:hover { color: #050841; }
|
||||
.application-body .recipe-additional-editor { width:min(800px,calc(100% - 76px)); margin:36px 38px; padding-top:28px; border-top:1px solid #eeeef3; }.application-body .recipe-additional-editor > form { display:grid; gap:14px; }.application-body .recipe-additional-editor label { display:grid; gap:5px; }.application-body .recipe-additional-editor input,.application-body .recipe-additional-editor textarea,.application-body .recipe-additional-editor select { padding:9px; }.application-body .recipe-additional-editor fieldset { display:grid; grid-template-columns:120px 120px 1fr; gap:10px; border:1px solid #eeeef3; }.application-body .recipe-additional-editor button { justify-self:start; padding:9px 14px; color:#fff; background:#3d5df6; border:0; }
|
||||
.application-body .nutrition-ingredient-list { margin-top:16px; border-top:1px solid #eeeef3; }
|
||||
.application-body .nutrition-list-heading { display:flex; justify-content:space-between; gap:20px; padding:14px 4px 10px; color:#202962; }
|
||||
.application-body .nutrition-list-heading small { color:#a5a9c1; }
|
||||
.application-body .nutrition-ingredient-list > a { display:grid; grid-template-columns:24px minmax(0,1fr) auto 14px; align-items:center; gap:10px; min-height:58px; padding:7px 4px; border-bottom:1px solid #eeeef3; text-decoration:none; }
|
||||
.application-body .nutrition-ingredient-list > a > span:nth-child(2) { min-width:0; }
|
||||
.application-body .nutrition-ingredient-list strong,.application-body .nutrition-ingredient-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
||||
.application-body .nutrition-ingredient-list strong { color:#050841; font-weight:500; }
|
||||
.application-body .nutrition-ingredient-list small { margin-top:2px; color:#a5a9c1; font-size:12px; }
|
||||
.application-body .nutrition-ingredient-list em { color:#8b93a7; font-size:12px; font-style:normal; }
|
||||
.application-body .nutrition-ingredient-list b { color:#a5a9c1; font-size:18px; }
|
||||
.application-body .recipe-derived-panel .nutrition-label,.application-body .recipe-edit-nutrition .nutrition-label { max-width:430px; }
|
||||
.application-body .workspace-pills > a.archive-link { margin-left:auto; color:#a5a9c1; background:transparent; border-color:transparent; }
|
||||
|
||||
/* Archive Workspace */
|
||||
.application-body .archive-page { min-height: 100vh; background: #ffffff; padding-top: 48px; }
|
||||
.application-body .archive-workspace { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 64px; }
|
||||
.application-body .archive-header { margin-bottom: 24px; }
|
||||
.application-body .archive-breadcrumbs { margin-bottom: 8px; }
|
||||
.application-body .archive-breadcrumbs a { display: inline-flex; align-items: center; gap: 4px; color: #3d5df6; font-size: 14px; font-weight: 500; text-decoration: none; }
|
||||
.application-body .archive-header h1 { margin: 0 0 6px; color: #050841; font-size: 28px; font-weight: 700; letter-spacing: -0.015em; }
|
||||
.application-body .archive-subtitle { color: #8b93a7; font-size: 14px; margin: 0; }
|
||||
.application-body .archive-toolbar { margin-bottom: 16px; }
|
||||
.application-body .archive-filter-chips { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; }
|
||||
.application-body .archive-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 14px; background: #fff; border: 1px solid #ececec; border-radius: 999px; color: rgba(0, 0, 0, 0.87); font-size: 14px; font-weight: 400; text-decoration: none; white-space: nowrap; transition: all 0.15s ease; }
|
||||
.application-body .archive-chip:hover { background: #fff; border-color: #cfd5fa; }
|
||||
.application-body .archive-chip.active { background: #DBE4FF; border-color: #DBE4FF; }
|
||||
.application-body .archive-chip .chip-count { color: #8b93a7; font-size: 12px; font-weight: 500; }
|
||||
.application-body .archive-table { background: #fff; border: 1px solid #eef0f5; border-radius: 6px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
|
||||
.application-body .archive-table-head { display: grid; grid-template-columns: 56px minmax(0, 1fr) 180px 120px; align-items: center; min-height: 48px; padding: 0 20px; background: #ffffff; border-bottom: 1px solid #edf0f5; color: #8b93a7; font-size: 13px; font-weight: 500; }
|
||||
.application-body .archive-table-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) 180px 120px; align-items: center; min-height: 58px; padding: 0 20px; border-bottom: 1px solid #edf0f5; transition: background-color 0.12s ease; }
|
||||
.application-body .archive-table-row:last-child { border-bottom: 0; }
|
||||
.application-body .archive-table-row:hover { background: #f8faff; }
|
||||
.application-body .archive-type-cell { display: flex; align-items: center; }
|
||||
.application-body .archive-name-cell { display: flex; flex-direction: column; min-width: 0; }
|
||||
.application-body .archive-item-title { color: #050841; font-size: 15px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.application-body .archive-item-type { color: #8b93a7; font-size: 12px; text-transform: capitalize; }
|
||||
.application-body .archive-date-badge { color: #8b93a7; font-size: 13px; }
|
||||
.application-body .archive-restore-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 14px; background: #fff; border: 1px solid #dfe3ec; border-radius: 999px; color: #3d5df6; font-family: var(--meez-font-sans); font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.15s ease; }
|
||||
.application-body .archive-restore-btn:hover { background: #f1f5fe; border-color: #3d5df6; }
|
||||
.application-body .empty-icon-circle { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 16px; background: #f1f5fe; border-radius: 50%; color: #3d5df6; }
|
||||
|
||||
@@ -0,0 +1,864 @@
|
||||
/* Actions group on the far right: Delete (RemoveCircle) followed by Drag (6-dot) */
|
||||
.application-body .unified-recipe-editor .row-actions-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 3px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .remove-row-btn,
|
||||
.application-body .unified-recipe-editor .drag-handle {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
color: #a5a9c1;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease, color 0.15s ease, background-color 0.15s ease, transform 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .drag-handle {
|
||||
cursor: grab;
|
||||
}
|
||||
.application-body .unified-recipe-editor .drag-handle:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
.application-body .unified-recipe-editor .remove-row-btn svg,
|
||||
.application-body .unified-recipe-editor .drag-handle svg {
|
||||
display: block;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:hover .remove-row-btn,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:focus-within .remove-row-btn,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:hover .drag-handle,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:focus-within .drag-handle {
|
||||
opacity: 1;
|
||||
}
|
||||
.application-body .unified-recipe-editor .remove-row-btn:hover {
|
||||
color: #f63d48;
|
||||
background-color: #fff1f2;
|
||||
transform: scale(1.08);
|
||||
}
|
||||
.application-body .unified-recipe-editor .drag-handle:hover {
|
||||
color: #050841;
|
||||
background-color: #eef1f8;
|
||||
transform: scale(1.08);
|
||||
}
|
||||
|
||||
/* Row inputs: 15px font, borderless with Meez blue underline on hover & focus */
|
||||
.application-body .unified-recipe-editor .editor-items .quantity-column input,
|
||||
.application-body .unified-recipe-editor .editor-items .unit-column select,
|
||||
.application-body .unified-recipe-editor .editor-items .entity-column input,
|
||||
.application-body .unified-recipe-editor .editor-items .notes-column input,
|
||||
.application-body .unified-recipe-editor .editor-items .percent-column input {
|
||||
width: 100%;
|
||||
min-height: 38px;
|
||||
height: 38px;
|
||||
padding: 4px 6px;
|
||||
color: #050841;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
transition: border-bottom-color 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items .unit-column select {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
background-image: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items .notes-column input {
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
color: #050841;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items .notes-column input::placeholder {
|
||||
font-style: italic;
|
||||
color: #a5a9c1;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
/* Hover: crisp Meez blue underline */
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr input:hover,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr select:hover {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #3d5df6;
|
||||
}
|
||||
|
||||
/* Focus: thicker 2px blue underline */
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr input:focus,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr select:focus {
|
||||
background: transparent !important;
|
||||
border: 0 !important;
|
||||
border-bottom: 2px solid #3d5df6 !important;
|
||||
outline: 0 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* Sub-recipe styling in entity input */
|
||||
.application-body .unified-recipe-editor .row-entity-combobox.is-subrecipe input {
|
||||
color: #3d5df6;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Autocomplete Combobox Dropdown */
|
||||
.application-body .unified-recipe-editor .row-entity-combobox {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-entity-results {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: calc(100% + 4px);
|
||||
left: 0;
|
||||
min-width: 300px;
|
||||
width: max-content;
|
||||
max-width: 440px;
|
||||
max-height: 280px;
|
||||
overflow-y: auto;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 30px rgba(5, 8, 41, 0.14);
|
||||
padding: 6px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-entity-results button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
width: 100%;
|
||||
padding: 8px 12px;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.1s ease, color 0.1s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-entity-results button:hover,
|
||||
.application-body .unified-recipe-editor .row-entity-results button:focus {
|
||||
background: #f1f5fe;
|
||||
color: #3d5df6;
|
||||
outline: 0;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-entity-results .badge-recipe {
|
||||
background: #f1f5fe;
|
||||
color: #3d5df6;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
padding: 2px 7px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-entity-results .badge-ingredient {
|
||||
background: #eaf8f4;
|
||||
color: #23856d;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
padding: 2px 7px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-create-actions {
|
||||
margin-top: 4px;
|
||||
padding-top: 4px;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
}
|
||||
.application-body .unified-recipe-editor .row-create-actions button {
|
||||
color: #3d5df6;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.application-body .unified-recipe-editor .remove-row-btn {
|
||||
width:22px;
|
||||
height:22px;
|
||||
padding:0;
|
||||
display:inline-grid;
|
||||
place-items:center;
|
||||
color:#a5a9c1;
|
||||
background:transparent;
|
||||
border:0;
|
||||
border-radius:4px;
|
||||
font-size:12px;
|
||||
cursor:pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 0.12s ease, color 0.12s ease, background-color 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:hover .remove-row-btn,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:focus-within .remove-row-btn {
|
||||
opacity: 1;
|
||||
}
|
||||
.application-body .unified-recipe-editor .remove-row-btn:hover {
|
||||
color:#f63d48;
|
||||
background:#fff1f2;
|
||||
}
|
||||
|
||||
.application-body .unified-recipe-editor .add-line-row {
|
||||
margin:6px 0 0;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-search {
|
||||
position:relative;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-search input {
|
||||
width:100%;
|
||||
min-height:36px;
|
||||
padding:6px 12px;
|
||||
color:#050841;
|
||||
background:#fff;
|
||||
border:1px dashed #cfd5fa;
|
||||
border-radius:6px;
|
||||
font-family:var(--meez-font-sans);
|
||||
font-size:13px;
|
||||
transition: border-color 0.12s ease, box-shadow 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-search input::placeholder {
|
||||
color: #8283a0;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-search input:focus {
|
||||
border-style:solid;
|
||||
border-color:#3d5df6;
|
||||
outline:0;
|
||||
box-shadow:0 0 0 2px rgba(61,93,246,0.12);
|
||||
}
|
||||
|
||||
.application-body .unified-recipe-editor .recipe-item-results {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: calc(100% + 4px);
|
||||
left: 0;
|
||||
min-width: 300px;
|
||||
width: 100%;
|
||||
max-height: 280px;
|
||||
overflow-y: auto;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 30px rgba(5, 8, 41, 0.14);
|
||||
padding: 6px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .recipe-item-results button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
padding: 8px 12px;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
text-align: left;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application-body .unified-recipe-editor .recipe-item-results button:hover {
|
||||
background: #f1f5fe;
|
||||
color: #3d5df6;
|
||||
}
|
||||
.application-body .unified-recipe-editor .recipe-item-results small {
|
||||
color: #8283a0;
|
||||
font-size: 11px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .recipe-item-results .create-ingredient-result {
|
||||
color: #3d5df6;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
margin-top: 4px;
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
/* Method editor: modern compact step cards matching Meez */
|
||||
.application-body .method-editor {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
border-left: 0;
|
||||
}
|
||||
.application-body .method-header-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
.application-body .method-header-row h2 {
|
||||
margin: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
}
|
||||
.application-body .method-header-row h2 small {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #8b93a7;
|
||||
margin-left: 6px;
|
||||
}
|
||||
.application-body .bulk-prep-btn {
|
||||
min-height: 28px;
|
||||
padding: 4px 12px;
|
||||
color: #3d5df6;
|
||||
background: #fff;
|
||||
border: 1px solid #3d5df6;
|
||||
border-radius: 100px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application-body .bulk-prep-btn:hover {
|
||||
background: #f1f5fe;
|
||||
}
|
||||
.application-body .method-steps-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.application-body .method-step-card {
|
||||
display: grid;
|
||||
grid-template-columns: 24px minmax(0, 1fr) 52px;
|
||||
gap: 6px;
|
||||
align-items: start;
|
||||
min-height: 36px;
|
||||
padding: 4px 8px;
|
||||
background: #fff;
|
||||
border: 1px solid #edf0f5;
|
||||
border-radius: 4px;
|
||||
transition: border-color 0.12s ease, background-color 0.12s ease;
|
||||
}
|
||||
.application-body .method-step-card:hover {
|
||||
border-color: #dfe3ec;
|
||||
background-color: #fafbfe;
|
||||
}
|
||||
.application-body .method-step-card:focus-within {
|
||||
border-color: #dfe3ec;
|
||||
background-color: #fafbfe;
|
||||
}
|
||||
.application-body .step-badge {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
background: #f1f5fe;
|
||||
color: #3d5df6;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
margin-top: 2px;
|
||||
}
|
||||
.application-body .step-body {
|
||||
min-width: 0;
|
||||
}
|
||||
.application-body .method-step-card .step-num {
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
color: #050841;
|
||||
padding-top: 4px;
|
||||
}
|
||||
.application-body .method-step-card .step-textarea {
|
||||
width: 100%;
|
||||
min-height: 28px;
|
||||
padding: 3px 0 3px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
outline: 0;
|
||||
background: transparent;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: #050841;
|
||||
resize: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-rendering: optimizeLegibility;
|
||||
transition: border-bottom-color 0.12s ease;
|
||||
}
|
||||
.application-body .method-step-card .step-textarea:hover {
|
||||
border-bottom: 1px solid #3d5df6;
|
||||
}
|
||||
.application-body .method-step-card .step-textarea:focus {
|
||||
border-bottom: 2px solid #3d5df6;
|
||||
}
|
||||
.application-body .method-step-card.prep-heading .step-textarea {
|
||||
font-weight: 700;
|
||||
}
|
||||
.application-body .method-step-card.prep-note .step-textarea {
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
color: #4d5481;
|
||||
}
|
||||
.application-body .method-step-card .step-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 2px;
|
||||
}
|
||||
.application-body .method-step-card .remove-step-btn,
|
||||
.application-body .method-step-card .drag-handle {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
color: #a5a9c1;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease, color 0.15s ease, background-color 0.15s ease, transform 0.12s ease;
|
||||
}
|
||||
.application-body .method-step-card .drag-handle {
|
||||
cursor: grab;
|
||||
}
|
||||
.application-body .method-step-card .drag-handle:active {
|
||||
cursor: grabbing;
|
||||
}
|
||||
.application-body .method-step-card .remove-step-btn svg,
|
||||
.application-body .method-step-card .drag-handle svg {
|
||||
display: block;
|
||||
}
|
||||
.application-body .method-step-card:hover .remove-step-btn,
|
||||
.application-body .method-step-card:focus-within .remove-step-btn,
|
||||
.application-body .method-step-card:hover .drag-handle,
|
||||
.application-body .method-step-card:focus-within .drag-handle {
|
||||
opacity: 1;
|
||||
}
|
||||
.application-body .method-step-card .remove-step-btn:hover {
|
||||
color: #f63d48;
|
||||
background-color: #fff1f2;
|
||||
transform: scale(1.08);
|
||||
}
|
||||
.application-body .method-step-card .drag-handle:hover {
|
||||
color: #050841;
|
||||
background-color: #eef1f8;
|
||||
transform: scale(1.08);
|
||||
}
|
||||
|
||||
/* Prep Method View Mode - Compact Meez Parity */
|
||||
.application-body .recipe-view-method h2 {
|
||||
margin: 0 0 16px 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 20px !important;
|
||||
font-weight: 500 !important;
|
||||
color: #050841 !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
gap: 6px !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method h2 small {
|
||||
font-size: 14px !important;
|
||||
font-weight: 400 !important;
|
||||
color: #8b93a7 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-steps-list {
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
gap: 10px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
list-style: none !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-step-item {
|
||||
display: flex !important;
|
||||
align-items: baseline !important;
|
||||
gap: 10px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
color: #050841 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 14px !important;
|
||||
line-height: 1.45 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-step-item strong {
|
||||
min-width: 20px !important;
|
||||
flex-shrink: 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 700 !important;
|
||||
color: #050841 !important;
|
||||
line-height: 1.45 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-step-item span {
|
||||
flex: 1 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 400 !important;
|
||||
color: #050841 !important;
|
||||
line-height: 1.45 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-step-item.prep-heading {
|
||||
margin-top: 14px !important;
|
||||
margin-bottom: 2px !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-heading-text {
|
||||
margin: 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 700 !important;
|
||||
color: #050841 !important;
|
||||
line-height: 1.45 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-step-item.prep-note {
|
||||
margin: 2px 0 6px 0 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-view-method .method-note-text {
|
||||
margin: 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 13px !important;
|
||||
font-style: italic !important;
|
||||
color: #737c91 !important;
|
||||
line-height: 1.4 !important;
|
||||
}
|
||||
|
||||
.application-body .method-footer-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 18px;
|
||||
margin-top: 16px;
|
||||
padding-top: 16px;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
}
|
||||
|
||||
/* Smart Quick Add Bar */
|
||||
.application-body .unified-recipe-editor .quick-add-bar {
|
||||
display: grid;
|
||||
grid-template-columns: 64% 36%;
|
||||
gap: 10px;
|
||||
margin: 10px 0 16px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-search,
|
||||
.application-body .unified-recipe-editor .quick-add-notes {
|
||||
position: relative;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-bar input {
|
||||
width: 100%;
|
||||
height: 42px;
|
||||
padding: 6px 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
color: #050841;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-bar input::placeholder {
|
||||
color: #a5a9c1;
|
||||
}
|
||||
.application-body .unified-recipe-editor .quick-add-bar input:focus {
|
||||
border-color: #3d5df6;
|
||||
outline: 0;
|
||||
box-shadow: 0 0 0 2.5px rgba(61, 93, 246, 0.18);
|
||||
}
|
||||
|
||||
/* Bottom Bar & Actions */
|
||||
.application-body .unified-recipe-editor .structure-bottom-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
min-height: 48px;
|
||||
margin: 16px 0 28px;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.application-body .editor-keyboard-hint {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
color: #a5a9c1;
|
||||
font-size: 13px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.application-body .editor-keyboard-hint kbd {
|
||||
display: inline-block;
|
||||
padding: 2px 6px;
|
||||
background: #f1f3f8;
|
||||
border-radius: 4px;
|
||||
color: #4d5481;
|
||||
font-family: inherit;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.application-body .unified-recipe-editor .structure-add-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
}
|
||||
.application-body .action-link-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 6px 8px;
|
||||
color: #3d5df6;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: color 0.12s ease;
|
||||
}
|
||||
.application-body .action-link-btn svg {
|
||||
display: block;
|
||||
}
|
||||
.application-body .action-link-btn:hover {
|
||||
color: #202962;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.application-body .bulk-add-trigger,
|
||||
.application-body .bulk-prep-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 6px;
|
||||
min-height: 36px;
|
||||
height: 36px;
|
||||
padding: 0 18px;
|
||||
color: #050841;
|
||||
background: #ffffff;
|
||||
border: 1px solid #050841;
|
||||
border-radius: 999px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
transition: all 0.12s ease;
|
||||
}
|
||||
.application-body .bulk-add-trigger:hover,
|
||||
.application-body .bulk-prep-btn:hover {
|
||||
color: #3d5df6;
|
||||
border-color: #3d5df6;
|
||||
background: #f1f5fe;
|
||||
text-decoration: none;
|
||||
}
|
||||
.application-body .unified-recipe-editor .add-line {
|
||||
display:grid;
|
||||
grid-template-columns:minmax(0,2fr) minmax(130px,1fr);
|
||||
gap:0;
|
||||
}
|
||||
.application-body .unified-recipe-editor .add-line-notes {
|
||||
width:100%;
|
||||
min-height:58px;
|
||||
padding:12px 14px;
|
||||
color:#050841;
|
||||
background:#fff;
|
||||
border:1px solid #f3f3f3;
|
||||
border-left:0;
|
||||
border-radius:0;
|
||||
font:italic 14px var(--sans);
|
||||
}
|
||||
.application-body .unified-recipe-editor .add-line-notes::placeholder { color:#a5a9c1; }
|
||||
.bulk-ingredient-backdrop {
|
||||
position:fixed;
|
||||
z-index:1000;
|
||||
inset:0;
|
||||
display:grid;
|
||||
place-items:center;
|
||||
padding:24px;
|
||||
background:rgba(5,8,31,.52);
|
||||
}
|
||||
.bulk-ingredient-dialog {
|
||||
position:relative;
|
||||
display:flex;
|
||||
width:min(780px,100%);
|
||||
max-height:calc(100vh - 48px);
|
||||
padding:52px 68px 48px;
|
||||
overflow:auto;
|
||||
flex-direction:column;
|
||||
color:#050841;
|
||||
background:#fff;
|
||||
border-radius:10px;
|
||||
box-shadow:0 24px 70px rgba(5,8,31,.28);
|
||||
}
|
||||
.bulk-ingredient-dialog h2 { margin:0 0 24px; font-size:30px; font-weight:700; }
|
||||
.bulk-ingredient-dialog > p:not(.bulk-dialog-error) { margin:0 0 8px; color:#8b8d99; font-size:15px; font-weight:500; }
|
||||
.bulk-ingredient-dialog textarea {
|
||||
width:100%;
|
||||
min-height:330px;
|
||||
padding:18px 14px;
|
||||
resize:vertical;
|
||||
color:#050841;
|
||||
background:#fff;
|
||||
border:1px solid #eeeef3;
|
||||
border-bottom:1px solid #647df8;
|
||||
border-radius:0;
|
||||
font:15px/1.55 var(--sans);
|
||||
}
|
||||
.bulk-ingredient-dialog textarea::placeholder { color:#a5a9c1; opacity:1; }
|
||||
.bulk-dialog-close {
|
||||
position:absolute;
|
||||
top:28px;
|
||||
right:36px;
|
||||
width:38px;
|
||||
height:38px;
|
||||
padding:0;
|
||||
color:#050841;
|
||||
background:transparent;
|
||||
border:0;
|
||||
cursor:pointer;
|
||||
font-size:34px;
|
||||
font-weight:300;
|
||||
line-height:1;
|
||||
}
|
||||
.bulk-dialog-error { margin:7px 0 0; color:#ef3d4d; font-size:13px; font-weight:600; }
|
||||
.bulk-entry-help { display:flex; margin:18px 0 34px; flex-direction:column; gap:12px; font-size:14px; }
|
||||
.bulk-entry-help small { color:#a5a9c1; font-size:inherit; }
|
||||
.bulk-ingredient-dialog footer { display:flex; align-items:center; justify-content:flex-end; gap:44px; }
|
||||
.bulk-ingredient-dialog footer button { min-height:48px; padding:10px 24px; cursor:pointer; border:0; font-weight:700; }
|
||||
.bulk-ingredient-dialog .bulk-cancel { color:#3d5df6; background:transparent; }
|
||||
.bulk-ingredient-dialog .bulk-submit { min-width:250px; color:#fff; background:#647df8; border-radius:28px; }
|
||||
.bulk-ingredient-dialog .bulk-submit:disabled { background:#aeb9f8; cursor:not-allowed; }
|
||||
.bulk-prep-dialog { width:min(860px,100%); }
|
||||
.bulk-prep-dialog textarea { min-height:390px; }
|
||||
.application-body .unified-recipe-editor .method-editor li.prep-heading { min-height:70px; padding-block:18px; background:#ffffff; }
|
||||
.application-body .unified-recipe-editor .method-editor li.prep-heading textarea { min-height:34px; font-weight:700; }
|
||||
.application-body .unified-recipe-editor .method-editor li.prep-note { min-height:76px; background:#ffffff; }
|
||||
.application-body .unified-recipe-editor .method-editor li.prep-note textarea { min-height:44px; color:#727a91; font-style:italic; }/* Recipe edit title and breadcrumb refinements. */
|
||||
.application-body .editable-entity-title {
|
||||
margin: 0;
|
||||
padding: 0 0 4px;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
border-radius: 0;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 28px;
|
||||
font-weight: 900;
|
||||
line-height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
.application-body .editable-entity-title:focus {
|
||||
outline: 0;
|
||||
border-bottom-color: #3d5df6;
|
||||
}
|
||||
|
||||
/* Persistent detail breadcrumbs. */
|
||||
.application-body .immersive-main .detail-utility { position:absolute; z-index:30; top:0; left:0; right:0; width:100%; height:48px; min-height:48px; display:grid; grid-template-columns:50% 50%; gap:0; padding:0; background:#ffffff; border-bottom:1px solid #edf0f5; }
|
||||
.application-body .detail-context,.application-body .detail-tools { display:flex; align-items:center; min-width:0; height:48px; }
|
||||
.application-body .detail-context { gap:14px; padding:0 36px; }
|
||||
.application-body .detail-tools { gap:18px; padding:0 32px; border-left:1px solid #edf0f5; }
|
||||
.application-body .detail-tools form { flex:1; width:auto; }
|
||||
.application-body .detail-back { display:grid; place-items:center; width:30px; height:30px; color:#202962; text-decoration:none; font-size:30px; font-weight:400; line-height:1; }
|
||||
.application-body .detail-back:hover { color:#3d5df6; }
|
||||
.application-body .detail-breadcrumbs { display:flex; align-items:center; min-width:0; gap:0; margin:0; padding:0; list-style:none; }
|
||||
.application-body .detail-breadcrumbs li { display:flex; align-items:center; min-width:0; }
|
||||
.application-body .detail-breadcrumbs li+li::before { content:"/"; margin:0 8px; color:#a5a9c1; }
|
||||
.application-body .detail-breadcrumbs a { overflow:hidden; color:#202962; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:400; }
|
||||
.application-body .detail-breadcrumbs a:hover { color:#3d5df6; text-decoration:underline; }
|
||||
.application-body .entity-breadcrumb { display:none; }
|
||||
.application-body .recipe-detail-shell > .entity-detail-header > div:first-child > p { display:none; }
|
||||
|
||||
|
||||
.application-body .tag-chip-editor { min-height:42px; padding:6px 10px; background:#fff; border:1px solid #dfe3ec; border-radius:4px; }
|
||||
.application-body .tag-chip-list { display:flex; flex-wrap:wrap; gap:6px; }
|
||||
.application-body .tag-chip-list span { display:inline-flex; align-items:center; gap:5px; min-height:26px; padding:2px 7px 2px 10px; color:#202962; background:#f1f5fe; border-radius:16px; font-size:12px; }
|
||||
.application-body .tag-chip-list b { font-weight:500; }
|
||||
.application-body .tag-chip-list button { display:grid; place-items:center; width:18px; height:18px; padding:0; color:#7d86a0; background:transparent; border:0; border-radius:50%; cursor:pointer; font-size:14px; }
|
||||
.application-body .tag-chip-list button:hover { color:#050841; background:#e1e7fa; }
|
||||
.application-body input.tag-chip-entry { width:100%; min-height:28px !important; padding:2px !important; background:transparent !important; border:0 !important; outline:0; }
|
||||
|
||||
.application-body .recipe-additional-editor {
|
||||
margin-top: 32px;
|
||||
padding-top: 24px;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
}
|
||||
.application-body .recipe-additional-editor h2 {
|
||||
margin: 0 0 20px;
|
||||
color: #050841;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.application-body .recipe-additional-editor > form {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 20px 24px;
|
||||
}
|
||||
.application-body .recipe-additional-editor fieldset {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
.application-body .recipe-additional-editor fieldset input[name="storage_condition"] {
|
||||
grid-column: 1/-1;
|
||||
}
|
||||
.application-body .recipe-additional-editor input,
|
||||
.application-body .recipe-additional-editor select {
|
||||
min-height: 40px;
|
||||
padding: 6px 10px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-additional-editor input:hover,
|
||||
.application-body .recipe-additional-editor select:hover {
|
||||
border-color: #3d5df6;
|
||||
}
|
||||
.application-body .recipe-additional-editor input:focus,
|
||||
.application-body .recipe-additional-editor select:focus {
|
||||
border-color: #3d5df6;
|
||||
outline: 0;
|
||||
box-shadow: 0 0 0 2.5px rgba(61, 93, 246, 0.18);
|
||||
}
|
||||
.application-body .recipe-additional-editor label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
}
|
||||
.application-body .recipe-additional-editor label span {
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: #4d5481;
|
||||
}
|
||||
|
||||
.application-body .recipe-edit-tab-panel {
|
||||
width: 100%;
|
||||
padding: 16px 0;
|
||||
}
|
||||
.application-body .recipe-edit-tab-panel h2 {
|
||||
margin: 0 0 16px;
|
||||
color: #050841;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.application-body .recipe-edit-tab-panel .recipe-cost-ledger { width:100%; }
|
||||
.application-body .recipe-edit-tab-panel .cost-ledger-lines { border-top:1px solid #eeeef3; }
|
||||
.application-body .recipe-history { display:none; }
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,431 @@
|
||||
/* Search bar in detail-tools: Meez styling with search icon, clear button, hover & focus */
|
||||
.application-body .detail-tools {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
.application-body .detail-search-form {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: min(540px, 38vw);
|
||||
height: 38px;
|
||||
padding: 0 10px 0 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
.application-body .detail-search-form:hover {
|
||||
border-color: #3d5df6;
|
||||
}
|
||||
.application-body .detail-search-form:focus-within {
|
||||
border-color: #3d5df6;
|
||||
box-shadow: 0 0 0 2.5px rgba(61, 93, 246, 0.15);
|
||||
}
|
||||
.application-body .detail-search-form .search-input-icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
color: #95969c;
|
||||
flex-shrink: 0;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.application-body .detail-search-form .search-input-icon svg {
|
||||
display: block;
|
||||
}
|
||||
.application-body .detail-search-form input.search-field {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 0 !important;
|
||||
padding: 0 !important;
|
||||
background: transparent !important;
|
||||
border: 0 !important;
|
||||
outline: 0 !important;
|
||||
box-shadow: none !important;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #050841;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
.application-body .detail-search-form input.search-field::placeholder {
|
||||
color: #95969c;
|
||||
}
|
||||
.application-body .detail-search-form .search-clear-btn {
|
||||
display: none;
|
||||
place-items: center;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
padding: 0;
|
||||
color: #95969c;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
flex-shrink: 0;
|
||||
transition: color 0.12s ease, background-color 0.12s ease;
|
||||
}
|
||||
.application-body .detail-search-form .search-clear-btn svg {
|
||||
display: block;
|
||||
}
|
||||
.application-body .detail-search-form .search-clear-btn:hover {
|
||||
color: #050841;
|
||||
background-color: #f1f3f8;
|
||||
}
|
||||
.application-body .detail-search-form.has-value .search-clear-btn {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
/* Two-column workspace: clean pure white on white. */
|
||||
.application-body .recipe-view-workspace { grid-template-columns:1fr 1fr; border-top:0; background:#ffffff; }
|
||||
.application-body .recipe-view-formula { padding:0 0 35px; border-right:0; background:transparent; }
|
||||
.application-body .recipe-view-details { padding:26px 32px 60px; border-left:1px solid #edf0f5; background:#ffffff; }
|
||||
|
||||
/* Formula table: borderless rows, meez typography. */
|
||||
.application-body .recipe-view-formula .formula-component { margin:0 0 20px 0; border:0; background:transparent; font:inherit; }
|
||||
.application-body .recipe-view-formula .formula-component h3,
|
||||
.application-body .recipe-view-formula .formula-component-heading {
|
||||
margin: 18px 0 8px 0;
|
||||
padding: 0 0 6px 0;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
line-height: 24px;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
.application-body .recipe-view-formula .formula-component-note {
|
||||
margin: 4px 0 8px;
|
||||
color: #757677;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.application-body .recipe-view-formula .recipe-ingredients thead { display:none; }
|
||||
.application-body .recipe-view-formula .recipe-ingredients td { padding:8px 0; border:0; border-bottom:0; background:transparent; }
|
||||
.application-body .recipe-view-formula .recipe-ingredients td:first-child { padding-right:10px; }
|
||||
.application-body .recipe-view-formula .calculator-ingredient-name a { color:#050841; font-size:15px; font-weight:400; text-decoration:none; }
|
||||
.application-body .recipe-view-formula .recipe-ingredients td.recipe-percent-cell { color:#a5a9c1; font-size:13px; font-weight:300; }
|
||||
.application-body .recipe-view-formula .line-quantity { display:flex; justify-content:flex-start; border-bottom:0; }
|
||||
.application-body .recipe-view-formula .line-quantity input { width:auto; min-width:44px; padding:0; color:#050841; background:transparent; border:0; font-size:15px; font-weight:300; text-align:left; }
|
||||
.application-body .recipe-view-formula .line-quantity select { width:auto; padding:0 0 0 4px; color:#050841; background:transparent; border:0; font-size:14px; font-weight:400; cursor:pointer; }
|
||||
.application-body .recipe-view-formula .formula-total { color:#a5a9c1; font-size:13px; }
|
||||
|
||||
/* Prep method panel. */
|
||||
.application-body .recipe-view-method h2 { margin:0 0 34px; font-size:22px; font-weight:700; line-height:33px; }
|
||||
.application-body .recipe-view-method h2 small { margin-left:8px; color:#a5a9c1; font-size:16px; font-weight:700; }
|
||||
.application-body .recipe-view-method ol { padding:0; list-style:none; margin:0; }
|
||||
.application-body .recipe-view-method li { grid-template-columns:28px minmax(0,1fr); gap:16px; min-height:0; padding:16px 0; background:transparent; border:0; border-bottom:1px solid #edf0f5; }
|
||||
.application-body .recipe-view-method li:last-child { border-bottom:0; }
|
||||
.application-body .recipe-view-method li > strong { color:#050841; font-size:16px; font-weight:700; }
|
||||
.application-body .recipe-view-method li > span { color:#050841; font-size:16px; font-weight:300; line-height:20px; }
|
||||
.application-body .recipe-view-method li.placeholder > span { color:#a5a9c1; }
|
||||
.application-body .recipe-view-method li.prep-heading {
|
||||
display: block;
|
||||
padding: 20px 0 6px;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
}
|
||||
.application-body .recipe-view-method li.prep-heading h3,
|
||||
.application-body .recipe-view-method .method-heading-text {
|
||||
margin: 0;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
line-height: 24px;
|
||||
}
|
||||
.application-body .recipe-view-method li.prep-note {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
}
|
||||
.application-body .recipe-view-method li.prep-note p,
|
||||
.application-body .recipe-view-method .method-note-text {
|
||||
margin: 0;
|
||||
color: #757677;
|
||||
font-size: 14px;
|
||||
font-style: italic;
|
||||
line-height: 1.4;
|
||||
}
|
||||
/* Secondary panels: meez panel headings and copy. */
|
||||
/* U of M Equivalency: Meez Style */
|
||||
.application-body .recipe-view-equivalencies {
|
||||
padding: 8px 0 36px;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies h2 {
|
||||
margin: 0 0 4px;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
line-height: 1.3;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-equation-title {
|
||||
margin: 0 0 8px;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 700;
|
||||
line-height: 1.4;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-helper-text {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
margin: 0 0 28px;
|
||||
color: #4d5481;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-help-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
color: #95969c;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
transition: color 0.15s ease, background-color 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-help-btn:hover {
|
||||
color: #050841;
|
||||
background-color: #f1f4fb;
|
||||
}
|
||||
|
||||
/* UoM Toggle Switch */
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
margin: 0 0 32px;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 36px;
|
||||
height: 20px;
|
||||
margin-top: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch i {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #cbd1dc;
|
||||
border-radius: 20px;
|
||||
transition: background-color 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch i::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
left: 2px;
|
||||
bottom: 2px;
|
||||
background-color: white;
|
||||
border-radius: 50%;
|
||||
transition: transform 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch input:checked + i {
|
||||
background-color: #40b49a;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-toggle-row .toggle-switch input:checked + i::before {
|
||||
transform: translateX(16px);
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .toggle-label-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .toggle-label-group strong {
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .toggle-label-group small {
|
||||
color: #95969c;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
line-height: 1.4;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* 3-Way Equation Row: Weight = Volume = Each */
|
||||
.application-body .recipe-view-equivalencies .uom-equation-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
margin: 28px 0 24px;
|
||||
max-width: 100%;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-equation-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
flex: 1 1 140px;
|
||||
min-width: 120px;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-group-label {
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-box-pair {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
width: 100%;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-qty-input {
|
||||
width: 68px;
|
||||
min-width: 48px;
|
||||
flex: 0 1 68px;
|
||||
height: 42px;
|
||||
padding: 6px 10px;
|
||||
color: #050841;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
box-sizing: border-box;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-unit-select {
|
||||
flex: 1 1 auto;
|
||||
min-width: 68px;
|
||||
height: 42px;
|
||||
padding: 6px 10px;
|
||||
color: #050841;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-qty-input:focus,
|
||||
.application-body .recipe-view-equivalencies .uom-unit-select:focus {
|
||||
border-color: #3d5df6;
|
||||
outline: 0;
|
||||
box-shadow: 0 0 0 2.5px rgba(61, 93, 246, 0.18);
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-equation-separator {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 18px;
|
||||
height: 42px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #050841;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
flex: 0 0 auto;
|
||||
align-self: flex-end;
|
||||
}
|
||||
|
||||
/* Custom equivalencies list */
|
||||
.application-body .recipe-view-equivalencies .uom-custom-conversions {
|
||||
margin-top: 32px;
|
||||
padding-top: 20px;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-custom-conversions h3 {
|
||||
margin: 0 0 12px;
|
||||
color: #050841;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-custom-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #f3f3f3;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-custom-row strong {
|
||||
color: #050841;
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-custom-row span {
|
||||
color: #a5a9c1;
|
||||
font-size: 15px;
|
||||
}
|
||||
.application-body .recipe-view-equivalencies .uom-custom-row small {
|
||||
color: #95969c;
|
||||
margin-left: auto;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Cost ledger: meez accordion-list language. */
|
||||
.application-body .recipe-derived-panel .recipe-cost-ledger header { margin-bottom:20px; }
|
||||
.application-body .recipe-derived-panel .cost-line-detail { color:#a5a9c1; font-size:14px; font-weight:400; }
|
||||
.application-body .recipe-read-shell .recipe-derived-panel .cost-line-detail small { margin-bottom:3px; color:#a5a9c1; font-size:14px; font-weight:400; }
|
||||
.application-body .recipe-read-shell .recipe-derived-panel .cost-line-detail strong { color:#050841; font-size:15px; font-weight:400; }
|
||||
.application-body .recipe-derived-panel .cost-summary { color:#050841; font-size:15px; font-weight:500; }
|
||||
.application-body .recipe-read-shell .recipe-derived-panel .cost-summary > div { gap:5px; margin-bottom:55px; }
|
||||
.application-body .recipe-read-shell .recipe-derived-panel .cost-summary > div > strong { color:#3c4679; font-size:14px; font-weight:500; }
|
||||
.application-body .recipe-read-shell .recipe-derived-panel .cost-summary > div > span { display:block; min-height:0; padding:0; color:#050841; background:transparent; font-size:15px; font-weight:400; }
|
||||
|
||||
/* Additional details card. */
|
||||
.application-body .recipe-additional-view { margin:36px 38px; padding-top:30px; border-top:1px solid #f3f3f3; }
|
||||
.application-body .recipe-additional-view h2 { font-size:18px; font-weight:500; }
|
||||
.application-body .recipe-additional-view p { display:flex; gap:0; padding:0 0 12px; border-bottom:0; }
|
||||
.application-body .recipe-additional-view p strong { width:120px; color:#050841; font-size:14px; font-weight:500; }
|
||||
.application-body .recipe-additional-view p span { color:#050841; font-size:15px; font-weight:500; }
|
||||
.application-body .recipe-additional-view ul { margin:0; color:#050841; font-size:15px; }
|
||||
|
||||
/* Keep the read workspace two-column in the 981-1280 range (meez stays
|
||||
split at these widths). */
|
||||
@media (max-width:1280px) and (min-width:981px) {
|
||||
.application-body .immersive-main .recipe-view-workspace { grid-template-columns:1fr 1fr; }
|
||||
.application-body .immersive-main .recipe-view-formula { padding:0 0 35px; border-right:0; }
|
||||
.application-body .immersive-main .recipe-view-details { padding:26px 32px 60px; border-top:0; border-left:1px solid #f3f3f3; }
|
||||
.application-body .immersive-main .recipe-read-tabs { min-height:48px; padding:0; padding-left:50%; overflow-x:visible; }
|
||||
.application-body .immersive-main .recipe-read-tabs button { flex:0 0 auto; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,738 @@
|
||||
/* ==========================================================================
|
||||
Ingredient Detail (View & Edit) — Meez matching styles
|
||||
========================================================================== */
|
||||
|
||||
.application-body .recipe-read-shell.ingredient-read-shell {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||
grid-template-areas: "utility utility" "left right";
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
min-height: auto;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left {
|
||||
grid-area: left;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 24px 36px 35px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #edf0f5;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .entity-detail-header {
|
||||
padding: 0 0 20px;
|
||||
min-height: auto;
|
||||
border-bottom: 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .entity-breadcrumb {
|
||||
margin: 0 0 12px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .entity-breadcrumb a {
|
||||
color: #202962;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .entity-detail-header h1 {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
line-height: 38px;
|
||||
color: #050841;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-title-editor {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 40px;
|
||||
padding: 0 0 4px;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
outline: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 28px;
|
||||
font-weight: 700;
|
||||
line-height: 38px;
|
||||
color: #050841;
|
||||
resize: none;
|
||||
box-sizing: border-box;
|
||||
transition: border-color 0.12s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-title-editor:hover {
|
||||
border-bottom: 1px solid #3d5df6;
|
||||
}
|
||||
|
||||
.application-body .ingredient-title-editor:focus {
|
||||
border-bottom: 2px solid #3d5df6;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .entity-section h2 {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
line-height: 33px;
|
||||
color: #050841;
|
||||
margin: 0 0 6px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .panel-intro {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
line-height: 1.5;
|
||||
color: #8283a0;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .field-help {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
color: #8283a0;
|
||||
margin: 12px 0 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .outlined-add-action {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
padding: 0 18px;
|
||||
color: #050841;
|
||||
background: #fff;
|
||||
border: 1px solid #050841;
|
||||
border-radius: 18px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
margin: 0 0 20px;
|
||||
transition: border-color 0.12s ease, color 0.12s ease, background-color 0.12s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .outlined-add-action:hover {
|
||||
color: #3d5df6;
|
||||
border-color: #3d5df6;
|
||||
background-color: #f1f5fe;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table th {
|
||||
height: 38px;
|
||||
padding: 8px 10px;
|
||||
color: #8283a0;
|
||||
background: #fff;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table td {
|
||||
height: 48px;
|
||||
padding: 6px 10px;
|
||||
color: #050841;
|
||||
background: #fff;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table tr:hover td {
|
||||
background-color: #fafbfe;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table td select,
|
||||
.application-body .ingredient-read-left .prep-action-table td input {
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
padding: 0 4px;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
outline: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #050841;
|
||||
transition: border-color 0.12s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table td select:hover,
|
||||
.application-body .ingredient-read-left .prep-action-table td input:hover {
|
||||
border-bottom: 1px solid #3d5df6;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table td select:focus,
|
||||
.application-body .ingredient-read-left .prep-action-table td input:focus {
|
||||
border-bottom: 2px solid #3d5df6;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-equivalency-link {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 4px 8px;
|
||||
color: #3d5df6;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
border-radius: 4px;
|
||||
transition: background-color 0.12s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-equivalency-link:hover {
|
||||
background-color: #eef2fe;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-row-remove {
|
||||
display: none;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
padding: 0;
|
||||
color: #95969c;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
font-size: 18px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-action-table tr:hover .prep-row-remove {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .prep-row-remove:hover {
|
||||
color: #d32f2f;
|
||||
background-color: #fee;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .additional-card {
|
||||
margin-top: 36px;
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .additional-card h2 {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .additional-card details {
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
padding: 12px 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .additional-card summary {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .additional-card summary small {
|
||||
color: #8283a0;
|
||||
font-weight: 400;
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-tag-view {
|
||||
margin: 12px 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-tag-view i {
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
background: #f1f3f8;
|
||||
color: #050841;
|
||||
font-size: 13px;
|
||||
padding: 4px 12px;
|
||||
border-radius: 16px;
|
||||
margin-right: 6px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-description-view {
|
||||
margin: 12px 0;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
color: #050841;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-additional-edit {
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 6px;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields {
|
||||
display: grid;
|
||||
gap: 18px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields input,
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields textarea {
|
||||
width: 100%;
|
||||
padding: 10px 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
color: #050841;
|
||||
box-sizing: border-box;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields input:focus,
|
||||
.application-body .ingredient-read-left .ingredient-detail-fields textarea:focus {
|
||||
border-color: #3d5df6;
|
||||
box-shadow: 0 0 0 2px rgba(61, 93, 246, 0.15);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Right pane */
|
||||
.application-body .ingredient-read-right {
|
||||
grid-area: right;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
background: #ffffff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-view-details {
|
||||
padding: 24px 36px 35px;
|
||||
background: transparent;
|
||||
border-left: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-view-details h2 {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
line-height: 33px;
|
||||
color: #050841;
|
||||
margin: 0 0 6px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-view-details .panel-intro {
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
line-height: 1.5;
|
||||
color: #8283a0;
|
||||
margin: 0 0 20px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .add-purchase summary,
|
||||
.application-body .ingredient-read-right .equivalency-editor summary {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
padding: 0 18px;
|
||||
color: #050841;
|
||||
background: #fff;
|
||||
border: 1px solid #050841;
|
||||
border-radius: 18px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
margin: 0 0 20px;
|
||||
list-style: none;
|
||||
transition: border-color 0.12s ease, color 0.12s ease, background-color 0.12s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .add-purchase summary:hover,
|
||||
.application-body .ingredient-read-right .equivalency-editor summary:hover {
|
||||
color: #3d5df6;
|
||||
border-color: #3d5df6;
|
||||
background-color: #f1f5fe;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-purchase-form {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-item-form {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 16px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 6px;
|
||||
padding: 24px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-item-form .purchase-name,
|
||||
.application-body .ingredient-read-right .purchase-item-form .purchase-rate,
|
||||
.application-body .ingredient-read-right .purchase-item-form .purchase-form-actions,
|
||||
.application-body .ingredient-read-right .purchase-item-form .price-history {
|
||||
grid-column: 1 / -1;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-item-form label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
color: #8283a0;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-item-form input,
|
||||
.application-body .ingredient-read-right .purchase-item-form select {
|
||||
height: 40px;
|
||||
padding: 0 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #050841;
|
||||
box-sizing: border-box;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-item-form input:focus,
|
||||
.application-body .ingredient-read-right .purchase-item-form select:focus {
|
||||
border-color: #3d5df6;
|
||||
box-shadow: 0 0 0 2px rgba(61, 93, 246, 0.15);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-form-actions button {
|
||||
height: 40px;
|
||||
padding: 0 24px;
|
||||
background: #3d5df6;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .purchase-form-actions button:hover {
|
||||
background-color: #2b4be0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-cost-row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 14px 16px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 6px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-cost-row strong {
|
||||
display: block;
|
||||
font-size: 15px;
|
||||
color: #050841;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .ingredient-cost-row small {
|
||||
color: #8283a0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 6px;
|
||||
padding: 20px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
color: #8283a0;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form input,
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form select {
|
||||
height: 40px;
|
||||
padding: 0 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
color: #050841;
|
||||
box-sizing: border-box;
|
||||
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form input:focus,
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form select:focus {
|
||||
border-color: #3d5df6;
|
||||
box-shadow: 0 0 0 2px rgba(61, 93, 246, 0.15);
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form i {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 40px;
|
||||
font-style: normal;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: #8283a0;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form button[name="intent"] {
|
||||
height: 40px;
|
||||
padding: 0 20px;
|
||||
background: #3d5df6;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form button[name="intent"]:hover {
|
||||
background-color: #2b4be0;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .equivalency-editor .inline-form .cancel-equivalency {
|
||||
height: 40px;
|
||||
padding: 0 16px;
|
||||
background: transparent;
|
||||
color: #8283a0;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .usda-id-form {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 6px;
|
||||
padding: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .usda-id-form label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
color: #8283a0;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .usda-id-form input {
|
||||
height: 40px;
|
||||
padding: 0 12px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
color: #050841;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .usda-id-form button {
|
||||
height: 40px;
|
||||
padding: 0 20px;
|
||||
background: #3d5df6;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.15s ease;
|
||||
}
|
||||
|
||||
.application-body .ingredient-read-right .usda-id-form button:hover {
|
||||
background-color: #2b4be0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Meez Tab Row & Tab Hover / Active States (Definitive)
|
||||
========================================================================== */
|
||||
|
||||
.application-body .recipe-workspace-tabs,
|
||||
.application-body .entity-tabs {
|
||||
display: flex !important;
|
||||
align-items: stretch !important;
|
||||
justify-content: flex-start !important;
|
||||
width: auto !important;
|
||||
min-height: 48px !important;
|
||||
height: 48px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
background: #ffffff !important;
|
||||
border: 0 !important;
|
||||
border-bottom: 1px solid #edf0f5 !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-workspace-tabs button,
|
||||
.application-body .entity-tabs button {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
flex: 0 0 auto !important;
|
||||
min-width: 0 !important;
|
||||
height: 48px !important;
|
||||
min-height: 48px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 16px !important;
|
||||
color: #050841 !important;
|
||||
background: transparent !important;
|
||||
border: 0 !important;
|
||||
border-right: 0 !important;
|
||||
border-bottom: 2px solid transparent !important;
|
||||
border-radius: 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 15px !important;
|
||||
font-weight: 400 !important;
|
||||
line-height: 22px !important;
|
||||
cursor: pointer !important;
|
||||
position: relative !important;
|
||||
z-index: 2 !important;
|
||||
box-sizing: border-box !important;
|
||||
transition: border-color 0.12s ease, background-color 0.12s ease !important;
|
||||
}
|
||||
|
||||
/* Inactive Tab Hover: Meez style: #fbfbfb background + dark #050841 underline */
|
||||
.application-body .recipe-workspace-tabs button:hover:not(.active),
|
||||
.application-body .entity-tabs button:hover:not(.active) {
|
||||
background: #fbfbfb !important;
|
||||
color: #050841 !important;
|
||||
border-bottom: 2px solid #050841 !important;
|
||||
}
|
||||
|
||||
/* Active Tab: soft blue background + blue underline */
|
||||
.application-body .recipe-workspace-tabs button.active,
|
||||
.application-body .entity-tabs button.active,
|
||||
.application-body .recipe-workspace-tabs button[aria-selected="true"],
|
||||
.application-body .entity-tabs button[aria-selected="true"] {
|
||||
background: #f1f5fe !important;
|
||||
color: #050841 !important;
|
||||
border-bottom: 2px solid #3d5df6 !important;
|
||||
}
|
||||
|
||||
/* Active Tab Hover: stays soft blue background + blue underline */
|
||||
.application-body .recipe-workspace-tabs button.active:hover,
|
||||
.application-body .entity-tabs button.active:hover,
|
||||
.application-body .recipe-workspace-tabs button[aria-selected="true"]:hover,
|
||||
.application-body .entity-tabs button[aria-selected="true"]:hover {
|
||||
background: #f1f5fe !important;
|
||||
color: #050841 !important;
|
||||
border-bottom: 2px solid #3d5df6 !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-tab-icon {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
width: 22px !important;
|
||||
height: 22px !important;
|
||||
margin-right: 8px !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.application-body .recipe-tab-icon svg {
|
||||
display: block !important;
|
||||
width: 20px !important;
|
||||
height: 20px !important;
|
||||
}
|
||||
|
||||
.application-body .immersive-main .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .entity-tabs button.mobile-only-tab,
|
||||
.application-body .mobile-only-tab {
|
||||
display: none !important;
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
/* Recipe read view — meez skin (measured live 2026-08-14). */
|
||||
.application-body .immersive-main { background:#ffffff; }
|
||||
.application-body .recipe-detail-shell.recipe-read-shell {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
||||
grid-template-areas: "utility utility" "left right";
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
min-height: auto;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #ffffff;
|
||||
}
|
||||
.application-body .recipe-read-left {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 24px 36px 35px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #edf0f5;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.application-body .recipe-read-left .entity-detail-header {
|
||||
padding: 0 0 16px;
|
||||
min-height: auto;
|
||||
border-bottom: 0;
|
||||
background: transparent;
|
||||
}
|
||||
.application-body .recipe-read-left .recipe-overview-strip {
|
||||
padding: 0 0 16px;
|
||||
margin-bottom: 20px;
|
||||
background: transparent;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
}
|
||||
.application-body .recipe-read-left .recipe-structure-workspace {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border-top: 0;
|
||||
}
|
||||
.application-body .recipe-read-left .structure-editor {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
.application-body .recipe-read-right {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
background: #ffffff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.application-body .recipe-read-right .recipe-workspace-tabs {
|
||||
min-height: 48px;
|
||||
padding: 0 16px;
|
||||
background: #ffffff;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
}
|
||||
.application-body .recipe-read-right .recipe-view-details {
|
||||
padding: 24px 36px 35px;
|
||||
background: transparent;
|
||||
border-left: 0;
|
||||
}
|
||||
.application-body .recipe-detail-shell .entity-detail-header { background:#ffffff; }
|
||||
.application-body .recipe-detail-shell > .entity-detail-header > div:first-child > p { display:block; }
|
||||
.application-body .recipe-detail-shell .entity-breadcrumb a { color:#202962; font-size:12px; font-weight:400; text-decoration:none; }
|
||||
.application-body .recipe-detail-shell .entity-detail-header h1 { font-size:28px; font-weight:900; line-height:42px; }
|
||||
.application-body .recipe-read-tabs { min-height:48px; }
|
||||
.application-body .recipe-detail-shell .detail-actions-menu > summary svg { display:block; width:24px; height:24px; }
|
||||
.application-body .recipe-detail-shell .detail-actions-menu > div { border:0; box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12); overflow:hidden; }
|
||||
.application-body .recipe-detail-shell .detail-actions-menu button { width:100% !important; max-width:100% !important; min-height:44px; padding:10px 20px; color:#050841; font-size:15px; font-weight:500; }
|
||||
|
||||
/* Tab row: 48px, icon + 15px label, active = #f1f5fe with blue underline. */
|
||||
.application-body .recipe-workspace-tabs {
|
||||
min-height: 48px;
|
||||
background: #ffffff;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.application-body .recipe-workspace-tabs button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
min-width: 0;
|
||||
min-height: 48px;
|
||||
padding: 0 20px 0 4px;
|
||||
color: #050841;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-bottom: 2px solid transparent;
|
||||
border-right: 1px solid #f3f3f3;
|
||||
border-radius: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
|
||||
}
|
||||
.application-body .recipe-workspace-tabs button:last-child {
|
||||
border-right: 0;
|
||||
}
|
||||
.application-body .recipe-workspace-tabs button:hover:not(.active) {
|
||||
background: #fbfbfb !important;
|
||||
color: #050841 !important;
|
||||
border-bottom: 2px solid #050841 !important;
|
||||
}
|
||||
.application-body .recipe-workspace-tabs button.active {
|
||||
color: #050841 !important;
|
||||
background: #f1f5fe !important;
|
||||
border-bottom: 2px solid #3d5df6 !important;
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
.application-body .recipe-tab-icon,
|
||||
.application-body .recipe-workspace-tabs button .recipe-tab-icon,
|
||||
.application-body .recipe-workspace-tabs button.active .recipe-tab-icon,
|
||||
.application-body .recipe-workspace-tabs button:hover .recipe-tab-icon {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 40px;
|
||||
height: 48px;
|
||||
margin-right: 4px;
|
||||
color: #050841 !important;
|
||||
}
|
||||
.application-body .recipe-tab-icon svg {
|
||||
display: block;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
+16
-5363
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,302 @@
|
||||
@media print {
|
||||
body.application-body * { visibility:hidden !important; }
|
||||
body.application-body .nutrition-label,body.application-body .nutrition-label * { visibility:visible !important; }
|
||||
body.application-body .nutrition-label { position:absolute; top:0; left:0; width:360px; max-width:none !important; border:1px solid #000; }
|
||||
@page { margin:.35in; }
|
||||
}
|
||||
|
||||
.application-body .recipe-overview-strip {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
margin-bottom: 24px;
|
||||
padding: 0 0 16px 0;
|
||||
background: transparent;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
}
|
||||
.application-body .yield-title-label {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #95969c;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.application-body .yield-inputs-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.application-body .yield-inputs-row input[name="yield_quantity"] {
|
||||
width: 76px;
|
||||
height: 38px;
|
||||
padding: 6px 10px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
text-align: left;
|
||||
}
|
||||
.application-body .yield-inputs-row select[name="yield_unit_id"] {
|
||||
min-width: 60px;
|
||||
height: 38px;
|
||||
padding: 6px 10px;
|
||||
background: #fff;
|
||||
border: 1px solid #dfe3ec;
|
||||
border-radius: 4px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
color: #050841;
|
||||
cursor: pointer;
|
||||
}
|
||||
.application-body .inline-auto-yield {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-top: 4px;
|
||||
font-size: 14px;
|
||||
color: #050841;
|
||||
}
|
||||
.application-body .inline-auto-yield .toggle-button {
|
||||
position: relative;
|
||||
width: 36px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
background: #cbd1dc;
|
||||
border: 0;
|
||||
border-radius: 20px;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease;
|
||||
}
|
||||
.application-body .inline-auto-yield .toggle-button i {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background: #fff;
|
||||
border-radius: 50%;
|
||||
transition: transform 0.15s ease;
|
||||
}
|
||||
.application-body .inline-auto-yield.active .toggle-button { background: #40b49a; }
|
||||
.application-body .inline-auto-yield.active .toggle-button i { transform: translateX(16px); }
|
||||
|
||||
.application-body .unified-recipe-editor { padding: 0; }
|
||||
.application-body .unified-recipe-editor .structure-editor {
|
||||
display: block;
|
||||
border-top: 0;
|
||||
}
|
||||
.application-body .unified-recipe-editor .section-heading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
min-height: 36px;
|
||||
margin-bottom: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
.application-body .structure-heading-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
.application-body .calculate-toggle {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: #050841;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.application-body .calculate-toggle input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
.application-body .calculate-toggle i {
|
||||
display: inline-block;
|
||||
width: 34px;
|
||||
height: 18px;
|
||||
background: #cbd1dc;
|
||||
border-radius: 12px;
|
||||
position: relative;
|
||||
transition: background-color 0.15s ease;
|
||||
}
|
||||
.application-body .calculate-toggle i::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background: #fff;
|
||||
border-radius: 50%;
|
||||
transition: transform 0.15s ease;
|
||||
}
|
||||
.application-body .calculate-toggle input:checked + i {
|
||||
background: #40b49a;
|
||||
}
|
||||
.application-body .calculate-toggle input:checked + i::after {
|
||||
transform: translateX(16px);
|
||||
}
|
||||
.application-body .percent-mode {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
background: #ebedf2;
|
||||
padding: 2px;
|
||||
border-radius: 100px;
|
||||
gap: 2px;
|
||||
}
|
||||
.application-body .percent-mode button {
|
||||
height: 24px;
|
||||
padding: 0 10px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #4d5481;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 100px;
|
||||
cursor: pointer;
|
||||
transition: all 0.12s ease;
|
||||
}
|
||||
.application-body .percent-mode button.active {
|
||||
background: #fff;
|
||||
color: #050841;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items tr.component-header-row,
|
||||
.application-body .unified-recipe-editor .editor-items tr.component-header-row:hover,
|
||||
.application-body .unified-recipe-editor .editor-items tr.component-header-row:focus-within {
|
||||
background: transparent !important;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items tr.component-header-row td {
|
||||
padding: 18px 0 6px;
|
||||
border-bottom: 0;
|
||||
background: transparent;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 12px;
|
||||
min-height: 38px;
|
||||
padding: 4px 0;
|
||||
background: transparent;
|
||||
border-bottom: 1px solid #edf0f5;
|
||||
border-radius: 0;
|
||||
transition: border-color 0.15s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-content:hover,
|
||||
.application-body .unified-recipe-editor .component-header-content:focus-within {
|
||||
background: transparent;
|
||||
border-bottom-color: #3d5df6;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-name-input {
|
||||
width: 100%;
|
||||
padding: 6px 0;
|
||||
color: #050841;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
line-height: 27px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-actions .remove-component-btn,
|
||||
.application-body .unified-recipe-editor .component-header-actions .drag-handle {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
color: #a5a9c1;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
border-radius: 4px;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
transition: color 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-actions .drag-handle {
|
||||
cursor: grab;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-actions .remove-component-btn:hover {
|
||||
color: #f63d48;
|
||||
}
|
||||
.application-body .unified-recipe-editor .component-header-actions .drag-handle:hover {
|
||||
color: #050841;
|
||||
}
|
||||
|
||||
.application-body .unified-recipe-editor .table-wrap {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
min-width: 0 !important;
|
||||
border-top: 0;
|
||||
overflow-x: auto !important;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
min-width: 0 !important;
|
||||
border-collapse: collapse;
|
||||
table-layout: auto;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items th {
|
||||
height: 38px;
|
||||
padding: 0 6px 6px;
|
||||
color: #95969c;
|
||||
font-family: var(--meez-font-sans);
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
border-bottom: 1px solid #f3f3f3;
|
||||
text-align: left;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items th.quantity-column,
|
||||
.application-body .unified-recipe-editor .editor-items .quantity-column { text-align: left; width: 56px; min-width: 46px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.unit-column,
|
||||
.application-body .unified-recipe-editor .editor-items .unit-column { text-align: left; width: 66px; min-width: 52px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.entity-column,
|
||||
.application-body .unified-recipe-editor .editor-items .entity-column { text-align: left; min-width: 130px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.notes-column,
|
||||
.application-body .unified-recipe-editor .editor-items .notes-column { text-align: left; width: 22%; min-width: 80px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.percent-column,
|
||||
.application-body .unified-recipe-editor .editor-items .percent-column { text-align: left; width: 58px; min-width: 46px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.base-column,
|
||||
.application-body .unified-recipe-editor .editor-items .base-column { text-align: center; width: 40px; min-width: 34px; }
|
||||
.application-body .unified-recipe-editor .editor-items th.actions-column,
|
||||
.application-body .unified-recipe-editor .editor-items .actions-column { width: 54px; min-width: 48px; text-align: right; }
|
||||
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr {
|
||||
height: 56px;
|
||||
min-height: 56px;
|
||||
transition: background-color 0.12s ease;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:hover,
|
||||
.application-body .unified-recipe-editor .editor-items tbody tr:focus-within {
|
||||
background-color: #f1f4fb;
|
||||
}
|
||||
.application-body .unified-recipe-editor .editor-items td {
|
||||
height: 56px;
|
||||
padding: 4px 4px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #f3f3f3;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,794 @@
|
||||
|
||||
@media (min-width: 982px) {
|
||||
.application-body .immersive-main .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .entity-tabs button.mobile-only-tab,
|
||||
.application-body .mobile-only-tab {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .recipe-view-formula-pane.recipe-tab-panel {
|
||||
display: block !important;
|
||||
}
|
||||
.application-body .ingredient-main-content.entity-tab-panel {
|
||||
display: block !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 981px) {
|
||||
.application-body .immersive-main .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-read-shell .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .recipe-workspace-tabs button.mobile-only-tab,
|
||||
.application-body .entity-tabs button.mobile-only-tab,
|
||||
.application-body .mobile-only-tab {
|
||||
display: flex !important;
|
||||
}
|
||||
.application-body .recipe-detail-shell.recipe-read-shell,
|
||||
.application-body .recipe-read-shell.ingredient-read-shell,
|
||||
.application-body .recipe-read-shell,
|
||||
.application-body .ingredient-read-shell {
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
width: 100% !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.application-body .recipe-read-left,
|
||||
.application-body .recipe-read-right,
|
||||
.application-body .ingredient-read-left,
|
||||
.application-body .ingredient-read-right {
|
||||
display: contents !important;
|
||||
}
|
||||
|
||||
/* Consistent Top Utility Bar on Mobile */
|
||||
.application-body .detail-utility {
|
||||
order: 1 !important;
|
||||
position: relative !important;
|
||||
height: 52px !important;
|
||||
min-height: 52px !important;
|
||||
padding: 0 16px !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: space-between !important;
|
||||
width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
border-bottom: 1px solid #e4e5ed !important;
|
||||
background: #fff !important;
|
||||
}
|
||||
.application-body .detail-context {
|
||||
height: 100% !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
gap: 8px !important;
|
||||
flex: 0 0 auto !important;
|
||||
min-width: 0 !important;
|
||||
}
|
||||
.application-body .detail-back {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
width: 28px !important;
|
||||
height: 28px !important;
|
||||
font-size: 22px !important;
|
||||
color: #050841 !important;
|
||||
text-decoration: none !important;
|
||||
line-height: 1 !important;
|
||||
}
|
||||
.application-body .detail-breadcrumbs {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .detail-tools {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: flex-end !important;
|
||||
gap: 8px !important;
|
||||
height: 100% !important;
|
||||
flex: 1 1 auto !important;
|
||||
min-width: 0 !important;
|
||||
padding: 0 !important;
|
||||
border-left: 0 !important;
|
||||
margin-left: auto !important;
|
||||
}
|
||||
.application-body .detail-search-form {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
flex: 1 1 auto !important;
|
||||
max-width: 220px !important;
|
||||
min-width: 80px !important;
|
||||
height: 36px !important;
|
||||
padding: 0 8px !important;
|
||||
background: #fff !important;
|
||||
border: 1px solid #dfe3ec !important;
|
||||
border-radius: 4px !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.application-body .detail-search-form .search-field {
|
||||
width: 100% !important;
|
||||
min-width: 40px !important;
|
||||
padding: 4px 0 !important;
|
||||
font-size: 13px !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
border: 0 !important;
|
||||
background: transparent !important;
|
||||
outline: none !important;
|
||||
}
|
||||
.application-body .detail-new-menu {
|
||||
flex: none !important;
|
||||
position: relative !important;
|
||||
}
|
||||
.application-body .detail-new-menu > summary {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
width: 32px !important;
|
||||
height: 32px !important;
|
||||
min-height: 32px !important;
|
||||
padding: 0 !important;
|
||||
border-radius: 50% !important;
|
||||
background: #3d5df6 !important;
|
||||
color: #fff !important;
|
||||
box-shadow: 0 1px 3px rgba(61, 93, 246, 0.3) !important;
|
||||
list-style: none !important;
|
||||
cursor: pointer !important;
|
||||
}
|
||||
.application-body .detail-new-menu > summary span:not(.new-trigger-plus) {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .detail-new-menu > div {
|
||||
position: fixed !important;
|
||||
top: 56px !important;
|
||||
right: 16px !important;
|
||||
left: auto !important;
|
||||
width: min(240px, calc(100vw - 32px)) !important;
|
||||
z-index: 99999 !important;
|
||||
box-shadow: 0 12px 36px rgba(5, 8, 65, 0.22) !important;
|
||||
border: 1px solid #e4e5ed !important;
|
||||
background: #fff !important;
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
.application-body .entity-header-actions {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
gap: 8px !important;
|
||||
margin-left: auto !important;
|
||||
}
|
||||
.application-body .entity-header-actions .edit-command {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
gap: 6px !important;
|
||||
padding: 6px 10px !important;
|
||||
color: #3d5df6 !important;
|
||||
font-size: 15px !important;
|
||||
font-weight: 500 !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
.application-body .entity-header-actions .detail-actions-menu > summary {
|
||||
width: 32px !important;
|
||||
height: 32px !important;
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
}
|
||||
|
||||
/* Entity Detail Title Alignment (Aligned to 16px margin) */
|
||||
.application-body .entity-detail-header,
|
||||
.application-body .immersive-main .entity-detail-header,
|
||||
.application-body .immersive-main .recipe-detail-shell .entity-detail-header,
|
||||
.application-body .recipe-read-shell .entity-detail-header,
|
||||
.application-body .ingredient-read-left .entity-detail-header {
|
||||
order: 2 !important;
|
||||
padding: 16px 16px 4px 16px !important;
|
||||
margin: 0 !important;
|
||||
width: 100% !important;
|
||||
min-height: auto !important;
|
||||
box-sizing: border-box !important;
|
||||
border-right: 0 !important;
|
||||
border-bottom: 0 !important;
|
||||
display: block !important;
|
||||
}
|
||||
.application-body .entity-detail-header h1,
|
||||
.application-body .recipe-read-shell .entity-detail-header h1,
|
||||
.application-body .ingredient-read-left .entity-detail-header h1 {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 24px !important;
|
||||
line-height: 1.25 !important;
|
||||
font-weight: 700 !important;
|
||||
color: #050841 !important;
|
||||
letter-spacing: -0.02em !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
.application-body .entity-detail-header p,
|
||||
.application-body .recipe-read-shell .entity-detail-header p,
|
||||
.application-body .ingredient-read-left .entity-detail-header p {
|
||||
margin: 4px 0 0 0 !important;
|
||||
padding: 0 !important;
|
||||
color: #737c91 !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 400 !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
.application-body .recipe-title-editor,
|
||||
.application-body .editable-entity-title,
|
||||
.application-body .ingredient-title-editor {
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
font-size: 24px !important;
|
||||
font-weight: 700 !important;
|
||||
line-height: 1.25 !important;
|
||||
color: #050841 !important;
|
||||
border: 1px solid #dfe3ec !important;
|
||||
border-radius: 4px !important;
|
||||
padding: 6px 10px !important;
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.application-body .recipe-overview-strip,
|
||||
.application-body .entity-notice {
|
||||
order: 3 !important;
|
||||
margin-inline: 16px !important;
|
||||
}
|
||||
|
||||
/* Segmented Mobile Tab Bar (Parity with Meez) */
|
||||
.application-body .recipe-read-tabs,
|
||||
.application-body .entity-tabs,
|
||||
.application-body .recipe-workspace-tabs {
|
||||
order: 4 !important;
|
||||
display: grid !important;
|
||||
grid-template-columns: repeat(5, 1fr) !important;
|
||||
gap: 0 !important;
|
||||
height: 48px !important;
|
||||
min-height: 48px !important;
|
||||
max-height: 48px !important;
|
||||
margin: 12px 16px 16px !important;
|
||||
padding: 0 !important;
|
||||
width: calc(100% - 32px) !important;
|
||||
background: #fff !important;
|
||||
border: 1px solid #e4e5ed !important;
|
||||
border-radius: 6px !important;
|
||||
overflow: hidden !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
.application-body .entity-tabs {
|
||||
grid-template-columns: repeat(4, 1fr) !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button,
|
||||
.application-body .entity-tabs button,
|
||||
.application-body .recipe-workspace-tabs button {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
height: 100% !important;
|
||||
min-height: 46px !important;
|
||||
min-width: 0 !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
background: #fff !important;
|
||||
color: #050841 !important;
|
||||
border: 0 !important;
|
||||
border-right: 1px solid #e4e5ed !important;
|
||||
border-bottom: 2px solid transparent !important;
|
||||
border-radius: 0 !important;
|
||||
font-size: 0 !important;
|
||||
cursor: pointer !important;
|
||||
transition: background-color 0.12s ease, border-color 0.12s ease !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button:last-child,
|
||||
.application-body .entity-tabs button:last-child,
|
||||
.application-body .recipe-workspace-tabs button:last-child {
|
||||
border-right: 0 !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs .recipe-tab-label,
|
||||
.application-body .entity-tabs .recipe-tab-label,
|
||||
.application-body .recipe-workspace-tabs .recipe-tab-label {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button .recipe-tab-icon,
|
||||
.application-body .entity-tabs button .recipe-tab-icon,
|
||||
.application-body .recipe-workspace-tabs button .recipe-tab-icon {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
width: 22px !important;
|
||||
height: 22px !important;
|
||||
margin: 0 !important;
|
||||
color: #050841 !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button .recipe-tab-icon svg,
|
||||
.application-body .entity-tabs button .recipe-tab-icon svg,
|
||||
.application-body .recipe-workspace-tabs button .recipe-tab-icon svg {
|
||||
width: 20px !important;
|
||||
height: 20px !important;
|
||||
display: block !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button.active,
|
||||
.application-body .entity-tabs button.active,
|
||||
.application-body .recipe-workspace-tabs button.active {
|
||||
background: #eaf1fe !important;
|
||||
border-bottom: 2px solid #3d5df6 !important;
|
||||
}
|
||||
.application-body .recipe-read-tabs button.active .recipe-tab-icon,
|
||||
.application-body .entity-tabs button.active .recipe-tab-icon,
|
||||
.application-body .recipe-workspace-tabs button.active .recipe-tab-icon {
|
||||
color: #050841 !important;
|
||||
}
|
||||
|
||||
/* Mobile Content Panes */
|
||||
.application-body .recipe-view-formula-pane,
|
||||
.application-body .recipe-view-details-pane,
|
||||
.application-body .ingredient-main-content,
|
||||
.application-body .ingredient-view-details,
|
||||
.application-body .recipe-structure-workspace {
|
||||
order: 5 !important;
|
||||
width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
.application-body .recipe-additional-view {
|
||||
order: 6 !important;
|
||||
margin-top: 0 !important;
|
||||
padding: 0 16px 32px !important;
|
||||
}
|
||||
.application-body .recipe-view-formula-pane.recipe-tab-panel,
|
||||
.application-body .ingredient-main-content.entity-tab-panel,
|
||||
.application-body .recipe-tab-panel,
|
||||
.application-body .entity-tab-panel {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .recipe-view-formula-pane.recipe-tab-panel.active,
|
||||
.application-body .ingredient-main-content.entity-tab-panel.active,
|
||||
.application-body .recipe-tab-panel.active,
|
||||
.application-body .entity-tab-panel.active {
|
||||
display: block !important;
|
||||
}
|
||||
.application-body .recipe-view-formula,
|
||||
.application-body .ingredient-main-content {
|
||||
padding: 0 16px 24px !important;
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
.application-body .recipe-view-details,
|
||||
.application-body .ingredient-view-details {
|
||||
padding: 0 16px 24px !important;
|
||||
border-left: 0 !important;
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
min-width: 0 !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
.application-body .ingredient-view-details .workspace-panel,
|
||||
.application-body .ingredient-main-content .entity-section {
|
||||
padding: 0 !important;
|
||||
margin: 0 0 24px 0 !important;
|
||||
border: 0 !important;
|
||||
background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
width: 100% !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
/* Edit Mode Mobile & Tablet Enhancements */
|
||||
.application-body .unified-recipe-editor .table-wrap {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
overflow-x: auto !important;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.application-body .prep-edit-wrap {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
overflow-x: auto !important;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.application-body .recipe-additional-editor {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
margin: 16px 0 0 !important;
|
||||
padding: 16px 0 0 !important;
|
||||
box-sizing: border-box !important;
|
||||
}
|
||||
.application-body .recipe-additional-editor fieldset {
|
||||
display: grid !important;
|
||||
grid-template-columns: 1fr 1fr !important;
|
||||
gap: 8px !important;
|
||||
}
|
||||
.application-body .recipe-additional-editor fieldset input:last-child {
|
||||
grid-column: 1 / -1 !important;
|
||||
}
|
||||
.application-body .recipe-derived-panel .nutrition-label,
|
||||
.application-body .recipe-edit-nutrition .nutrition-label {
|
||||
max-width: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
/* Mobile Home Search & Filter Popups */
|
||||
.application-body .workspace-search-tools {
|
||||
padding: 14px 16px 10px !important;
|
||||
position: relative !important;
|
||||
z-index: 100 !important;
|
||||
}
|
||||
.application-body .workspace-search-tools-inner {
|
||||
width: 100% !important;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
flex-wrap: nowrap !important;
|
||||
gap: 8px !important;
|
||||
}
|
||||
.application-body .workspace-global-search {
|
||||
flex: 1 1 auto !important;
|
||||
min-width: 0 !important;
|
||||
height: 40px !important;
|
||||
min-height: 40px !important;
|
||||
padding: 0 10px !important;
|
||||
background: #fff !important;
|
||||
border: 1px solid #dfe3ec !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
.application-body form.workspace-global-search input[type="search"] {
|
||||
font-size: 14px !important;
|
||||
font-family: var(--meez-font-sans) !important;
|
||||
}
|
||||
.application-body .search-type-filter {
|
||||
flex: none !important;
|
||||
position: relative !important;
|
||||
}
|
||||
.application-body .search-type-filter summary {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
gap: 6px !important;
|
||||
height: 40px !important;
|
||||
min-height: 40px !important;
|
||||
padding: 0 6px !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 500 !important;
|
||||
color: #050841 !important;
|
||||
white-space: nowrap !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
.application-body .workspace-new-menu {
|
||||
flex: none !important;
|
||||
position: relative !important;
|
||||
}
|
||||
.application-body .workspace-new-menu > summary {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
width: 36px !important;
|
||||
height: 36px !important;
|
||||
min-height: 36px !important;
|
||||
padding: 0 !important;
|
||||
border-radius: 50% !important;
|
||||
background: #3d5df6 !important;
|
||||
color: #fff !important;
|
||||
box-shadow: 0 1px 3px rgba(61, 93, 246, 0.3) !important;
|
||||
}
|
||||
.application-body .workspace-new-menu > summary .new-trigger-label {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .workspace-new-menu > summary .new-trigger-plus {
|
||||
width: 20px !important;
|
||||
height: 20px !important;
|
||||
font-size: 20px !important;
|
||||
}
|
||||
.application-body .workspace-new-menu > summary .new-trigger-plus svg {
|
||||
width: 20px !important;
|
||||
height: 20px !important;
|
||||
}
|
||||
|
||||
/* Popups: Search Type Filter, Filter Menu, New Menu (Fixed on Top of Everything) */
|
||||
.application-body .search-type-filter form {
|
||||
position: fixed !important;
|
||||
top: 66px !important;
|
||||
right: 16px !important;
|
||||
left: auto !important;
|
||||
width: min(300px, calc(100vw - 32px)) !important;
|
||||
max-width: calc(100vw - 32px) !important;
|
||||
z-index: 99999 !important;
|
||||
box-shadow: 0 12px 36px rgba(5, 8, 65, 0.22) !important;
|
||||
border: 1px solid #e4e5ed !important;
|
||||
background: #fff !important;
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
.application-body .workspace-new-menu > nav {
|
||||
position: fixed !important;
|
||||
top: 66px !important;
|
||||
right: 16px !important;
|
||||
left: auto !important;
|
||||
width: min(300px, calc(100vw - 32px)) !important;
|
||||
max-width: calc(100vw - 32px) !important;
|
||||
z-index: 99999 !important;
|
||||
box-shadow: 0 12px 36px rgba(5, 8, 65, 0.22) !important;
|
||||
border: 1px solid #e4e5ed !important;
|
||||
background: #fff !important;
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
.application-body .filter-menu form {
|
||||
position: fixed !important;
|
||||
top: 125px !important;
|
||||
right: 16px !important;
|
||||
left: auto !important;
|
||||
width: min(320px, calc(100vw - 32px)) !important;
|
||||
max-width: calc(100vw - 32px) !important;
|
||||
z-index: 99999 !important;
|
||||
box-shadow: 0 12px 36px rgba(5, 8, 65, 0.22) !important;
|
||||
border: 1px solid #e4e5ed !important;
|
||||
background: #fff !important;
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
/* Workspace Pills on Mobile */
|
||||
.application-body .directory-workspace {
|
||||
width: calc(100% - 32px) !important;
|
||||
margin-inline: auto !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
.application-body .workspace-pills {
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
flex-wrap: nowrap !important;
|
||||
overflow-x: auto !important;
|
||||
-webkit-overflow-scrolling: touch !important;
|
||||
scrollbar-width: none !important;
|
||||
gap: 8px !important;
|
||||
padding: 0 0 16px !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.application-body .workspace-pills::-webkit-scrollbar {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .workspace-pills > a {
|
||||
min-height: 36px !important;
|
||||
padding: 6px 14px 6px 10px !important;
|
||||
font-size: 14px !important;
|
||||
flex: 0 0 auto !important;
|
||||
white-space: nowrap !important;
|
||||
}
|
||||
.application-body .workspace-pills .filter-menu {
|
||||
flex: 0 0 auto !important;
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
.application-body .workspace-pills .filter-menu summary {
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
gap: 6px !important;
|
||||
min-height: 36px !important;
|
||||
padding: 6px 14px !important;
|
||||
color: #050841 !important;
|
||||
background: #fff !important;
|
||||
border: 1px solid #ececec !important;
|
||||
border-radius: 999px !important;
|
||||
font-size: 14px !important;
|
||||
white-space: nowrap !important;
|
||||
cursor: pointer !important;
|
||||
}
|
||||
.application-body .workspace-pills .filter-menu[open] summary {
|
||||
background: #eaf1fe !important;
|
||||
border-color: #3d5df6 !important;
|
||||
color: #3d5df6 !important;
|
||||
}
|
||||
|
||||
/* Directory Table Mobile Enhancements */
|
||||
.application-body .entity-directory-row,
|
||||
.application-body .entity-directory-row.columns-1,
|
||||
.application-body .entity-directory-row.columns-2,
|
||||
.application-body .entity-directory-row.columns-3 {
|
||||
display: grid !important;
|
||||
grid-template-columns: 36px 44px minmax(0, 1fr) 36px !important;
|
||||
gap: 8px !important;
|
||||
min-height: 52px !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
.application-body .entity-directory-row .entity-directory-name strong {
|
||||
font-size: 15px !important;
|
||||
font-weight: 500 !important;
|
||||
color: #050841 !important;
|
||||
}
|
||||
/* Bulk Ingredient Dialog Mobile */
|
||||
.bulk-ingredient-backdrop { padding: 0 !important; }
|
||||
.bulk-ingredient-dialog { width: 100% !important; max-height: 100vh !important; min-height: 100vh !important; padding: 52px 22px 28px !important; border-radius: 0 !important; }
|
||||
.bulk-ingredient-dialog h2 { font-size: 24px !important; }
|
||||
.bulk-ingredient-dialog textarea { min-height: 260px !important; }
|
||||
.bulk-dialog-close { top: 16px !important; right: 18px !important; }
|
||||
.bulk-ingredient-dialog footer { gap: 12px !important; }
|
||||
.bulk-ingredient-dialog .bulk-submit { min-width: 0 !important; flex: 1 !important; }
|
||||
|
||||
/* Recipe Books Mobile */
|
||||
.application-body .recipe-book-workspace {
|
||||
width: calc(100% - 32px) !important;
|
||||
margin-inline: auto !important;
|
||||
padding: 20px 0 40px !important;
|
||||
}
|
||||
.application-body .recipe-book-header {
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
gap: 16px !important;
|
||||
margin-bottom: 20px !important;
|
||||
}
|
||||
.application-body .recipe-book-header-actions {
|
||||
align-self: flex-start !important;
|
||||
}
|
||||
.application-body .book-recipe-row {
|
||||
grid-template-columns: 32px minmax(0, 1fr) 28px !important;
|
||||
padding: 0 14px !important;
|
||||
min-height: 52px !important;
|
||||
}
|
||||
.application-body .book-directory-toolbar {
|
||||
padding: 0 14px !important;
|
||||
}
|
||||
|
||||
/* Archive Mobile */
|
||||
.application-body .archive-workspace {
|
||||
width: calc(100% - 32px) !important;
|
||||
margin-inline: auto !important;
|
||||
padding: 20px 0 40px !important;
|
||||
}
|
||||
.application-body .archive-table-head {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .archive-table-row {
|
||||
grid-template-columns: 36px minmax(0, 1fr) auto !important;
|
||||
gap: 10px !important;
|
||||
padding: 10px 14px !important;
|
||||
min-height: 56px !important;
|
||||
}
|
||||
.application-body .archive-date-cell {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Purchasing Review Mobile */
|
||||
.application-body .purchasing-review-workspace {
|
||||
width: calc(100% - 32px) !important;
|
||||
margin-inline: auto !important;
|
||||
padding: 20px 0 40px !important;
|
||||
}
|
||||
.application-body .purchasing-review-toolbar {
|
||||
position: static !important;
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
gap: 14px !important;
|
||||
padding: 14px !important;
|
||||
}
|
||||
.application-body .purchasing-review-actions {
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
gap: 10px !important;
|
||||
}
|
||||
.application-body .purchasing-search-box {
|
||||
width: 100% !important;
|
||||
}
|
||||
.application-body .purchasing-search-box input {
|
||||
min-width: 0 !important;
|
||||
flex: 1 !important;
|
||||
}
|
||||
.application-body .purchasing-card {
|
||||
padding: 16px !important;
|
||||
}
|
||||
.application-body .purchasing-card-header {
|
||||
flex-direction: column !important;
|
||||
align-items: flex-start !important;
|
||||
gap: 10px !important;
|
||||
}
|
||||
.application-body .other-select-label {
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
gap: 6px !important;
|
||||
}
|
||||
|
||||
/* Cost Ledger Mobile */
|
||||
.application-body .cost-ledger-heading {
|
||||
display: flex !important;
|
||||
justify-content: space-between !important;
|
||||
align-items: center !important;
|
||||
padding: 8px 12px !important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.application-body .cost-ledger-heading .head-subject {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.application-body .cost-ledger-heading button {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.application-body .cost-ledger-line > summary {
|
||||
grid-template-columns: 20px 26px minmax(0, 1fr) 20px 90px !important;
|
||||
gap: 8px !important;
|
||||
padding: 8px 12px !important;
|
||||
min-height: 48px !important;
|
||||
}
|
||||
.application-body .cost-subject-name {
|
||||
font-size: 14px !important;
|
||||
}
|
||||
.application-body .cost-line-value {
|
||||
font-size: 13px !important;
|
||||
}
|
||||
.application-body .cost-line-detail {
|
||||
grid-template-columns: 1fr !important;
|
||||
gap: 12px !important;
|
||||
padding: 12px 16px !important;
|
||||
}
|
||||
.application-body .cost-summary {
|
||||
width: 100% !important;
|
||||
margin-top: 24px !important;
|
||||
}
|
||||
|
||||
/* Inventory Workspace Mobile */
|
||||
.application-body .inventory-workspace {
|
||||
width: calc(100% - 32px) !important;
|
||||
margin-inline: auto !important;
|
||||
padding: 16px 0 40px !important;
|
||||
}
|
||||
.application-body .inventory-header {
|
||||
flex-direction: column !important;
|
||||
align-items: flex-start !important;
|
||||
gap: 14px !important;
|
||||
}
|
||||
.application-body .inventory-header-actions {
|
||||
width: 100% !important;
|
||||
}
|
||||
.application-body .primary-count-btn {
|
||||
width: 100% !important;
|
||||
justify-content: center !important;
|
||||
}
|
||||
.application-body .count-sheet-header {
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
gap: 14px !important;
|
||||
}
|
||||
.application-body .count-sheet-header-right {
|
||||
flex-wrap: wrap !important;
|
||||
justify-content: space-between !important;
|
||||
}
|
||||
.application-body .location-tabs {
|
||||
overflow-x: auto !important;
|
||||
-webkit-overflow-scrolling: touch !important;
|
||||
scrollbar-width: none !important;
|
||||
padding-bottom: 6px !important;
|
||||
}
|
||||
.application-body .location-tabs::-webkit-scrollbar {
|
||||
display: none !important;
|
||||
}
|
||||
.application-body .count-table-container {
|
||||
overflow-x: auto !important;
|
||||
-webkit-overflow-scrolling: touch !important;
|
||||
}
|
||||
.application-body .add-item-bar {
|
||||
flex-direction: column !important;
|
||||
align-items: stretch !important;
|
||||
}
|
||||
.application-body .quick-add-dropdown {
|
||||
max-width: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.application-body .quick-add-btn {
|
||||
width: 100% !important;
|
||||
justify-content: center !important;
|
||||
}
|
||||
|
||||
/* Archive Floating Bar Mobile */
|
||||
.application-body .archive-floating-bar {
|
||||
width: calc(100% - 32px) !important;
|
||||
max-width: 400px !important;
|
||||
box-sizing: border-box !important;
|
||||
flex-direction: column !important;
|
||||
gap: 10px !important;
|
||||
padding: 12px 16px !important;
|
||||
bottom: 16px !important;
|
||||
}
|
||||
.application-body .floating-bar-actions {
|
||||
width: 100% !important;
|
||||
justify-content: space-between !important;
|
||||
}
|
||||
|
||||
/* Formula Calculator Heading Mobile */
|
||||
.application-body .recipe-view-formula .calculator-heading {
|
||||
gap: 14px 20px !important;
|
||||
margin-bottom: 18px !important;
|
||||
}
|
||||
.application-body .recipe-view-formula .calculator-percent-controls {
|
||||
width: 100% !important;
|
||||
justify-content: flex-start !important;
|
||||
margin-top: 4px !important;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user