Files
formulation/src/styles/layout.css
T

353 lines
10 KiB
CSS

@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(--fmt-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(--fmt-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(--fmt-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(--fmt-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(--fmt-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;
}
/* Recipe read view — formulation layout styles */
.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-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; }