@font-face{font-family:Poppins;src:url('assets/poppins-regular.ttf')}@font-face{font-family:Poppins;src:url('assets/poppins-semibold.ttf');font-weight:600}@font-face{font-family:Heading;src:url('assets/heading-now.ttf');font-weight:800}
:root{--pink:#ea98af;--bone:#f4eae9;--navy:#1e4f70;--ink:#17262e;--muted:#647078;--line:#e6e8e9;--soft:#fbf3f6;--danger:#973c34;--radius:18px}*{box-sizing:border-box}body{margin:0;background:#fafbfc;color:var(--ink);font:16px/1.6 Poppins,Arial,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}button{border:0}a{color:var(--navy)}.topbar{min-height:84px;padding:12px 36px;display:flex;align-items:center;gap:18px;background:white;border-bottom:1px solid var(--line)}.brand{height:60px;width:80px;object-fit:contain}.brand-sep{height:30px;border-left:1px solid var(--line)}.top-title{font-weight:600;font-size:15px}.top-end{margin-left:auto;display:flex;gap:12px;align-items:center}.badge{font-size:12px;background:var(--soft);border:1px solid #f0c8d5;border-radius:30px;padding:5px 12px;white-space:nowrap}.ghost{background:transparent;color:var(--navy);padding:8px 12px;border-radius:8px;font-size:14px}.ghost:hover{background:var(--soft)}.layout{max-width:1530px;margin:auto;display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 85px)}.sidebar{padding:35px 20px;border-right:1px solid var(--line)}.overline{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.nav{display:grid;gap:9px;margin:22px 0}.nav button{text-align:left;display:flex;align-items:center;gap:12px;background:transparent;padding:12px 10px;border-radius:12px;font-size:14px}.nav button.active{background:var(--pink);font-weight:600;color:#192a35}.nav button:hover:not(.active){background:var(--bone)}.num{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border:1px solid #bec7cc;border-radius:50%;font-size:12px}.active .num{background:var(--ink);color:white;border-color:var(--ink)}.side-note{font-size:13px;color:var(--muted);margin-top:40px}.main{padding:32px 34px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}h1{font:800 38px/1.05 Heading,Impact,sans-serif;text-transform:uppercase;margin:8px 0 0;letter-spacing:.015em}h2{font-size:21px;font-weight:600;line-height:1.3;margin:0 0 8px}h3{font-size:16px;font-weight:600;margin:0 0 8px}p{margin:8px 0 16px}.muted{color:var(--muted)}.small{font-size:13px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-width:0}.panel+.panel{margin-top:20px}.tabs{display:flex;gap:4px;background:#eff1f3;border-radius:11px;padding:4px;margin-bottom:24px;flex-wrap:wrap}.tabs button{flex:1;min-width:max-content;background:transparent;border-radius:8px;padding:10px 14px;font-size:14px}.tabs button[aria-selected=true]{background:white;box-shadow:0 1px 5px #0000000c;font-weight:600}.head-row{display:flex;align-items:start;justify-content:space-between;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;margin:0}.field>span{font-weight:600}input,select{background:white;border:1px solid #cbd0d3;border-radius:9px;padding:10px 11px;width:100%;min-height:44px;min-width:0;font-size:15px}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--navy);flex-shrink:0}.check{display:flex;gap:10px;align-items:center;font-size:14px;cursor:pointer;margin:16px 0}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.row3{grid-template-columns:2fr 1fr 1fr}.unit-input{display:grid;grid-template-columns:1fr 90px;gap:7px}.ingredient{border-bottom:1px solid var(--line);padding:16px 0}.ingredient-top{display:flex;align-items:center;gap:8px}.ingredient-top input{border-color:transparent;background:#f7f8fa;font-weight:600;flex:1}.ingredient-fields{display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:10px;margin-top:12px}.line-price{font-size:13px;display:flex;justify-content:flex-end;margin-top:8px;color:var(--navy)}.icon-btn{background:transparent;color:var(--muted);border-radius:7px;font-size:22px;padding:2px 10px;flex-shrink:0;min-height:44px}.icon-btn:hover{background:var(--soft);color:var(--danger)}.add{background:white;border:1px dashed #b8c3c9;border-radius:10px;width:100%;margin:16px 0 4px;padding:11px;color:var(--navy);font-size:14px}.tip{background:var(--soft);border-left:3px solid var(--pink);padding:14px 16px;border-radius:0 10px 10px 0;font-size:14px;margin:20px 0}.tip p{margin:4px 0 0}.yield-box{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.aside{position:sticky;top:24px}.aside .panel{padding:23px}.amount{font-size:36px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:10px 0}.summary-row{display:flex;justify-content:space-between;gap:15px;font-size:14px;padding:9px 0}.summary-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.summary-row.total{font-weight:600;border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.subtle-rule{border:0;border-top:1px solid var(--line);margin:18px 0}.primary{background:var(--navy);color:white;padding:12px 20px;border-radius:11px;font-size:15px;font-weight:600}.primary:hover{background:#153c56}.secondary{border:1px solid #cbd0d3;background:white;padding:12px 20px;border-radius:11px;font-size:15px}.footer-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.footer-nav .primary{margin-left:auto}.error{color:var(--danger);background:#fff3ef;border:1px solid #efc6bc;padding:14px;border-radius:10px;font-size:14px}.errors{margin:12px 0}.pill{display:inline-block;background:var(--soft);padding:4px 10px;border-radius:20px;font-size:13px;color:var(--navy)}.line-item{padding:20px 0;border-bottom:1px solid var(--line)}.line-item:first-of-type{padding-top:4px}.item-amount{font-weight:600;color:var(--navy);text-align:right}.component-row{display:grid;grid-template-columns:1fr 145px;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.component-row .muted{font-size:13px}.result-hero{background:var(--navy);color:white;padding:28px;border-radius:18px;margin-bottom:22px}.result-hero .muted{color:#d6e6ef}.result-hero .amount{font-size:46px}.result-hero p{margin:6px 0}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}.block-cost{border:1px solid var(--line);padding:18px;border-radius:13px}.block-cost strong{display:block;font-size:24px}.warning-list{padding-left:20px;margin:8px 0}.supply-result{margin-top:16px;padding:16px;background:var(--soft);border-radius:10px}.print-only{display:none}.storage-note{font-size:12px;color:var(--muted);margin-top:20px}.color-row{display:grid;grid-template-columns:1fr 115px;gap:12px;align-items:center}.currency{width:110px}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.main{padding:36px 48px}.workspace{gap:32px}}
@media(max-width:1180px){.layout{grid-template-columns:190px 1fr}.main{padding:25px 22px}.workspace{grid-template-columns:1fr}.aside{position:static}.aside .panel{display:block}.aside{max-width:none}.sidebar{padding:30px 12px}.ingredient-fields{grid-template-columns:1fr 1.4fr 1.4fr}}
@media(max-width:700px){.topbar{padding:10px 16px;gap:12px;min-height:72px}.brand{height:47px;width:58px}.top-title{font-size:13px}.top-end{gap:0}.top-end .ghost{display:none}.badge{font-size:11px;padding:4px 8px}.brand-sep{display:none}.layout{display:block}.sidebar{padding:14px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.overline,.side-note{display:none}.nav{display:flex;overflow:auto;gap:7px;margin:0;padding-bottom:2px}.nav button{white-space:nowrap;padding:8px;font-size:12px;gap:7px;flex-shrink:0}.num{width:23px;height:23px;flex-basis:23px}.main{padding:22px 16px}.page-heading{margin-bottom:18px;align-items:start}h1{font-size:32px}.page-heading .currency{width:95px}.panel{padding:19px}.workspace{gap:18px}.tabs{margin-bottom:20px}.tabs button{font-size:13px;padding:9px 10px}.ingredient-fields{grid-template-columns:1fr 1fr;gap:12px}.ingredient-fields .field:first-child{grid-column:1/-1}.unit-input{grid-template-columns:1fr 72px}.ingredient-top input{font-size:14px}.inline-fields,.row3{grid-template-columns:1fr}.component-row{grid-template-columns:1fr 120px}.result-details{grid-template-columns:1fr}.footer-nav{flex-wrap:wrap}.primary,.secondary{padding:12px 16px}.aside .amount{font-size:30px}.result-hero .amount{font-size:40px}input,select{font-size:16px}.small,.muted.small{font-size:13px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease}}
@media print{body{background:white;color:black;font-size:11pt}.topbar,.sidebar,.aside,.page-heading,.footer-nav,.storage-note,.no-print{display:none!important}.layout,.main,.workspace{display:block;padding:0}.panel{border:0;padding:0}.print-only{display:block}.result-hero{background:white;color:black;border-bottom:2px solid #222;padding:10px 0}.result-hero .muted{color:#444}.result-hero .amount{font-size:30px}.result-details{display:block}.block-cost{break-inside:avoid;margin-bottom:10px}.tip,.error{break-inside:avoid}button{display:none!important}}
.form-shell{max-width:1250px;margin:auto}.form-tabs{display:flex;gap:6px;justify-content:space-between;margin:24px 34px 0;padding:6px;background:white;border:1px solid var(--line);border-radius:15px;overflow-x:auto}.form-tabs button{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:10px;background:transparent;font-size:14px;white-space:nowrap;flex:1}.form-tabs button.active{background:var(--pink);font-weight:600}.form-tabs button:hover:not(.active){background:var(--soft)}.tabs button.selected{background:white;box-shadow:0 1px 5px #0000000c;font-weight:600}.form-shell .main{padding-top:26px}.form-shell .workspace{grid-template-columns:minmax(0,1fr) 288px}.form-shell .num{width:24px;height:24px;flex-basis:24px}.form-shell h1:focus{outline:none}.ingredient-fields .field>span{font-size:13px}.form-shell .overline{font-size:12px}.aside .summary-row.total{flex-wrap:wrap}.form-tabs .active .num{background:var(--ink);border-color:var(--ink);color:white}
@media(max-width:1020px){.form-tabs{margin:20px 22px 0}.form-tabs button{padding:9px 10px;font-size:13px}.form-shell .workspace{grid-template-columns:minmax(0,1fr) 245px}.form-shell .ingredient-fields{grid-template-columns:1fr 1fr}.form-shell .ingredient-fields .field:first-child{grid-column:1/-1}.row3{grid-template-columns:1fr 1fr}.row3 .field:first-child{grid-column:1/-1}}
@media(max-width:780px){.form-shell .workspace{grid-template-columns:1fr}.form-tabs{margin:15px 16px 0;justify-content:flex-start}.form-tabs button{flex:0 0 auto}.form-shell .main{padding-top:20px}.form-shell .aside{position:static}.form-shell .ingredient-fields .field>span{font-size:14px}.summary-row{flex-wrap:wrap}.form-shell .overline{font-size:12px}}
@media print{.form-tabs,.topbar,.aside{display:none!important}.form-shell .workspace,.form-shell .main{display:block;padding:0}}
.ingredient-fields{align-items:end}
@media(max-width:700px){.page-heading .currency{width:110px;flex-shrink:0}.ingredient-fields .field>span{font-size:14px}}
.product-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 34px 0}.product-nav{display:flex;gap:4px;overflow-x:auto;min-width:0}.product-nav button{background:transparent;padding:12px 16px;white-space:nowrap;border-radius:12px;font-size:14px}.product-nav button[aria-pressed=true]{background:var(--bone);font-weight:600;color:var(--navy)}.form-tabs button{flex:0 0 auto}.new-cake{white-space:nowrap}.form-shell .workspace.wide{display:block}.page-heading>.field{width:115px;flex-shrink:0}.library-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.library-intro p{margin-bottom:0}.library-intro button{flex-shrink:0}.library-controls{margin:24px 0;display:flex;justify-content:space-between;gap:20px;align-items:end}.library-controls .tabs{margin:0}.library-controls>.field{max-width:320px;flex:1}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recipe-card{padding:24px;background:white;border:1px solid var(--line);border-radius:18px}.recipe-card h2{font-size:19px;margin-top:16px;overflow-wrap:anywhere}.recipe-rate{font-weight:600;color:var(--navy);margin:14px 0 20px}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.group-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.group-cost{white-space:nowrap;font-weight:600;color:var(--navy)}.selection-row{padding:18px 0;border-top:1px solid var(--line)}.selection-fields{display:grid;grid-template-columns:minmax(0,1fr) 110px 85px 32px;gap:9px;align-items:end}.selection-fields input,.selection-fields select{font-size:14px;padding:10px 8px}.selection-fields .field>span{font-size:12px}.selection-cost{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-top:9px}.selection-cost strong{color:var(--navy)}.empty-hint{color:var(--muted);font-size:14px}.help-details{margin:20px 0;font-size:14px}.help-details summary{cursor:pointer;color:var(--navy)}.notice{background:#edf5ef;border:1px solid #bfdac7;color:#254d32;padding:14px 18px;border-radius:12px;margin-bottom:20px}.price-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.price-comparison .panel{margin:0}.suggested{border:2px solid var(--pink);background:#fffafb}.vat-examples{margin:20px 0 0;background:var(--soft);padding:14px;border-radius:12px}.vat-examples .summary-row{flex-wrap:wrap}.cost-section{padding:20px 0;border-bottom:1px solid var(--line)}.cost-section h3{color:var(--navy)}.cost-section .summary-row.total{border:0;padding-top:5px}.preview-heading{margin:28px 0 16px;font-size:18px}.brand-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:28px;align-items:start}.brand-layout>.panel>.field{margin-bottom:20px}textarea{font:inherit;font-size:15px;width:100%;resize:vertical;min-height:94px;padding:12px;border:1px solid #cbd0d3;border-radius:10px}.quote-paper{background:white;border:1px solid var(--line);border-radius:5px;padding:44px;font:14px/1.5 Arial,Helvetica,sans-serif;color:#1d252c;max-width:860px;margin:auto}.quote-header{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #dce0e3;padding-bottom:24px}.quote-header h2{font-family:Arial,Helvetica,sans-serif;font-size:24px;overflow-wrap:anywhere}.quote-header p{font-size:12px;color:#5b6870;white-space:pre-wrap}.quote-logo{max-width:115px;max-height:65px;object-fit:contain;margin-bottom:12px}.quote-id{text-align:right;font-size:12px;flex-shrink:0}.quote-id>span{display:block;letter-spacing:.08em;color:var(--navy);margin-bottom:8px}.quote-id strong{font-size:13px}.quote-client{margin:28px 0}.quote-client span{font-size:10px;letter-spacing:.1em;color:#69757e}.quote-client h3{font-family:Arial,Helvetica,sans-serif;margin:5px 0}.quote-client p{font-size:12px}.quote-row{display:grid;grid-template-columns:1fr auto;gap:24px;border-bottom:1px solid #e4e7e9;padding:18px 0}.quote-labels{font-size:11px;color:#69757e;padding:8px 0}.quote-description{font-size:13px;color:#62717a;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.quote-totals{max-width:300px;margin:25px 0 20px auto}.quote-totals .summary-row{font-size:13px}.quote-total{font-size:22px!important;font-weight:600;border-top:1px solid #ddd;padding-top:18px}.quote-delivery{font-size:12px;color:#63717a;margin-top:28px}.quote-message{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:30px}.quote-paper footer{border-top:1px solid #e4e7e9;margin-top:40px;padding-top:12px;font-size:10px;color:#7b858c}.quote-paper h2,.quote-paper h3{font-family:Arial,Helvetica,sans-serif}.inline-link{background:transparent;color:var(--navy);text-decoration:underline;padding:0}.panel .field+.field{margin-top:0}
@media(max-width:1100px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-layout{grid-template-columns:1fr}.brand-layout>.panel{max-width:none}.selection-fields{grid-template-columns:minmax(0,1fr) 82px 74px 25px}.product-bar{margin-left:22px;margin-right:22px}.library-controls{display:block}.library-controls>.field{max-width:none;margin-top:16px}}
@media(max-width:780px){.product-bar{margin:16px 16px 0;flex-wrap:wrap}.product-nav{width:100%}.product-nav button{padding:10px 12px;font-size:13px}.new-cake{font-size:13px;padding:8px 12px;margin-left:auto}.recipe-grid,.price-comparison{grid-template-columns:1fr}.library-intro{display:block}.library-intro .primary{margin-top:18px}.selection-fields{grid-template-columns:minmax(0,1fr) 90px 32px}.selection-fields>.field:first-child{grid-column:1/3}.selection-fields>.field:nth-child(2){grid-column:1}.selection-fields>.field:nth-child(3){grid-column:2}.selection-fields>.icon-btn{grid-column:3;grid-row:1/3;align-self:center}.selection-fields input,.selection-fields select{font-size:16px}.selection-fields .field>span{font-size:13px}.quote-paper{padding:24px 20px}.quote-header{gap:12px}.quote-header h2{font-size:21px}.quote-id{max-width:105px;overflow-wrap:anywhere}.quote-row{gap:16px}.quote-totals{max-width:none}.brand-layout{gap:10px}.library-controls .tabs{overflow:auto;flex-wrap:nowrap}.top-title{flex:1}.topbar .badge{font-size:10px;white-space:normal;max-width:105px}.form-shell .workspace{grid-template-columns:1fr}}
@media print{.product-bar,.form-tabs{display:none!important}.quote-paper{border:0;padding:0}.quote-paper footer{position:static}}
.modal-backdrop{position:fixed;inset:0;background:#17262e70;display:grid;place-items:center;padding:20px;z-index:20}.confirm-card{background:white;border-radius:20px;padding:30px;width:min(100%,500px);box-shadow:0 12px 60px #0002}.confirm-card p{font-size:15px}

/* Payment-cost scenario: native accessible switch and compact comparison. */
.payment-switch{display:flex;align-items:center;gap:12px;position:relative;cursor:pointer;font-weight:600;margin:22px 0;padding:6px 0}.payment-switch input{position:absolute;width:46px;height:28px;margin:0;opacity:0;cursor:pointer}.switch-track{flex:0 0 46px;width:46px;height:28px;border-radius:20px;background:#e7e8ea;border:1px solid #81919b;position:relative}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003}.payment-switch input:checked+.switch-track{background:#ea98af;border-color:#bf6c58}.payment-switch input:checked+.switch-track:after{left:21px}.payment-switch input:focus-visible+.switch-track{outline:3px solid #1e4f70;outline-offset:3px}.payment-impact{background:#f4eae955;border:1px solid #f4eae9;border-radius:16px;padding:22px;margin:20px 0}.payment-impact .summary-row{gap:16px}.payment-impact .summary-row>span:last-child{white-space:nowrap}.payment-message{font-size:14px;line-height:1.6;padding:14px 16px;border-radius:10px;margin-top:18px;background:#fff}.payment-loss,.payment-review{background:#f4eae9;border-left:4px solid #bf6c58}.payment-loss{font-weight:600}@media(max-width:780px){.payment-impact{padding:16px}.payment-impact .summary-row{font-size:13px}.payment-switch{font-size:14px}}
.employee-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.employee-dashboard .panel{margin-bottom:20px}.employee-rate{background:var(--soft);border-color:var(--pink)}.employee-rate small{font-size:20px}.employee-details summary{cursor:pointer;font-weight:600;font-size:15px;padding:10px 0}.employee-details[open] summary{margin-bottom:14px}.employee-details .field{margin-top:16px}.employee-layout .field{margin-bottom:18px}.employee-layout .summary-row{gap:14px;align-items:baseline}.employee-layout .summary-row span:last-child{white-space:nowrap}.locked-value,.hours-guide{background:var(--soft);border-radius:12px;padding:16px;margin:18px 0}.labor-entry{border:1px solid var(--line);border-radius:14px;padding:18px;margin:20px 0}.labor-entry-heading{display:flex;justify-content:space-between;align-items:center}.labor-entry .field{margin:14px 0}.employee-layout .check{align-items:flex-start}.employee-layout .small{font-size:14px}.employee-layout .panel{overflow-wrap:anywhere}.employee-details a{color:var(--navy)}@media(max-width:1050px){.employee-layout{grid-template-columns:1fr}}@media(max-width:780px){.employee-layout .summary-row{font-size:14px}.labor-entry{padding:14px}.employee-layout{gap:16px}}

@media(max-width:1050px){.employee-dashboard{display:contents}.employee-rate{grid-row:1}.employee-layout .employee-dashboard .panel{margin:0}.employee-layout{row-gap:20px}}

/* Independent catalogue filter for each cake preparation entry. */
.selection-fields.has-source-filter{grid-template-columns:minmax(0,1fr) 90px 32px}
.source-picker{grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;min-width:0}
.selection-fields.has-source-filter>.field:nth-child(2){grid-column:1;grid-row:2}
.selection-fields.has-source-filter>.field:nth-child(3){grid-column:2;grid-row:2}
.selection-fields.has-source-filter>.icon-btn{grid-column:3;grid-row:2;align-self:center}
@media(max-width:780px){.source-picker{grid-template-columns:116px minmax(0,1fr);gap:8px}.source-picker .field>span{font-size:13px}}

/* One preparation section at a time within Tu pastel. */
.cake-section-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--bone);border:1px solid var(--line);border-radius:14px;padding:5px;margin:22px 0 16px}
.cake-section-tabs button{min-height:46px;border-radius:10px;background:transparent;font-size:14px;padding:10px 6px;font-weight:600}
.cake-section-tabs button[aria-selected=true]{background:var(--pink);color:var(--ink)}
.cake-section-tabs button:hover:not([aria-selected=true]){background:#fff9}
#cake-section-panel{min-width:0}
@media(max-width:480px){.cake-section-tabs button{font-size:12px;padding:10px 3px}}

/* Optional, section-specific guidance. Functional notices and errors stay visible. */
.section-guide{background:#f4eae966;border:1px solid #ead3d6;border-left:3px solid var(--pink);border-radius:14px;padding:18px 20px;margin:0 0 22px;color:var(--navy)}
.component-group .section-guide{margin-top:16px}
.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.guide-heading h3{margin:0;font-size:15px;line-height:1.5}
.guide-toggle{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;background:white;border:1px solid #dbc9cf;border-radius:24px;padding:8px 12px;color:var(--navy);font-size:12px;font-weight:600}
.question-mark{border:1.5px solid var(--navy);border-radius:50%;width:19px;height:19px;display:grid;place-items:center;font-size:12px;line-height:1}
.guide-switch{width:28px;height:16px;border-radius:12px;background:#d6dce0;position:relative}
.guide-switch:after{content:'';position:absolute;top:3px;left:3px;width:10px;height:10px;background:white;border-radius:50%}
.guide-toggle[aria-checked=true] .guide-switch{background:var(--navy)}
.guide-toggle[aria-checked=true] .guide-switch:after{left:15px}
.guide-body{font-size:14px;line-height:1.65}
.guide-body>p{margin:14px 0}
.guide-body ol{padding:0;margin:18px 0;list-style:none;counter-reset:guide;display:grid;gap:14px}
.guide-body li{counter-increment:guide;padding-left:32px;position:relative}
.guide-body li:before{content:counter(guide);position:absolute;left:0;top:1px;background:white;border:1px solid #d8bdc6;width:22px;height:22px;border-radius:50%;text-align:center;font-size:12px;font-weight:600}
.guide-body li p{margin:3px 0 0}
.guide-note{border-top:1px solid #e5d3d7;padding-top:12px;font-size:13px}
.guide-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.guide-links .secondary{font-size:13px;padding:9px 14px;border-color:#c6b6c0;color:var(--navy)}
.field-help{font-weight:400;font-size:12px;line-height:1.5;color:var(--navy);padding:7px 9px;border-radius:7px;background:#f4eae966;overflow-wrap:anywhere}
.field-help[hidden],.guide-body[hidden],.guide-copy[hidden]{display:none!important}
.guided-screen[data-help=on] .selection-fields{align-items:start}
.guided-screen[data-help=on] .selection-fields>.icon-btn{align-self:start;margin-top:23px}
.recipe-editor .selection-fields{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr) 32px}
.recipe-product-link{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px}
.recipe-product-link p:last-child{margin-bottom:0}
.page-heading .field-help{display:none}
@media(max-width:780px){.guide-heading{align-items:flex-start;flex-wrap:wrap;gap:8px}.section-guide{padding:14px 16px}.guide-toggle{margin-left:auto}.guide-body{font-size:13px}.guide-body ol{gap:12px}.recipe-editor .selection-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px}.recipe-editor .selection-fields>.field:first-child{grid-column:1/3}.recipe-editor .selection-fields>.field:nth-child(2){grid-column:1}.recipe-editor .selection-fields>.field:nth-child(3){grid-column:2}.field-help{font-size:12px}.guide-links .secondary{flex:1;white-space:nowrap}}
@media print{.section-guide,.field-help,.recipe-product-link{display:none!important}}

/* Recipe categories scale as a native selector rather than an expanding tab bar. */
.recipe-library-controls{align-items:end;gap:20px}
.category-filter{display:flex;gap:10px;align-items:end;flex:1;min-width:0}
.category-filter>.field{flex:1;min-width:160px}
.category-filter>.secondary{flex-shrink:0;white-space:nowrap}
.recipe-library-controls>.field{min-width:180px}
.category-creator{background:var(--soft);border:1px solid var(--pink);border-radius:14px;padding:20px;margin:18px 0 24px;max-width:580px}
.category-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.category-creator h3{font-size:17px}
.recipe-yield-type{margin:18px 0 24px}
.recipe-card .pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.recipe-results{margin:0 0 16px}
@media(max-width:780px){.category-filter{flex-wrap:wrap}.category-filter>.field{flex-basis:100%;min-width:0}.category-filter>.secondary{margin-left:auto}.recipe-library-controls>.field{min-width:0}.category-creator{padding:16px}.category-actions{justify-content:stretch}.category-actions button{flex:1}.category-filter select{width:100%}}

/* One compact recipe row, with optional filters revealed below that row. */
.recipe-table-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:26px 0 8px}
.recipe-table-heading h3{margin:0;font-size:17px}
.recipe-table-scroll{position:relative;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;scrollbar-width:thin}
.recipe-table-scroll:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.recipe-table{width:100%;min-width:640px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:14px}
.recipe-table .recipe-filter-col{width:46px}.recipe-table .recipe-qty-col{width:110px}.recipe-table .recipe-unit-col{width:104px}.recipe-table .recipe-cost-col{width:114px}.recipe-table .recipe-remove-col{width:46px}
.recipe-table th{background:#f8f9fa;padding:12px 8px;text-align:left;color:var(--muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}
.recipe-table th.numeric-heading{text-align:right;padding-right:18px}
.recipe-table td{padding:7px 8px;vertical-align:middle;border-bottom:1px solid var(--line)}
.recipe-table tr.recipe-table-row:last-of-type td{border-bottom:0}
.recipe-table td:first-child,.recipe-table td:last-child{padding-left:3px;padding-right:3px;text-align:center}
.recipe-table tbody tr.recipe-table-row:hover{background:#fdf9fa}
.recipe-table input,.recipe-table select{min-height:38px;height:38px;padding:7px 9px;border-radius:7px;border-color:transparent;background:#f8f9fa;font-size:14px;line-height:1.4}
.recipe-table input:hover,.recipe-table select:hover{border-color:#cbd0d3}
.recipe-table input:focus,.recipe-table select:focus{background:white;border-color:var(--navy)}
.recipe-table select{text-overflow:ellipsis}
.recipe-table input.recipe-table-quantity{text-align:right;appearance:textfield;-moz-appearance:textfield}
.recipe-table-quantity::-webkit-inner-spin-button,.recipe-table-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.recipe-table .recipe-line-cost{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;color:var(--navy);padding-right:18px}
.recipe-table .pending-cost{font-size:12px;font-weight:400;color:var(--muted)}
.recipe-table .icon-btn{min-height:38px;width:38px;padding:0;line-height:1}
.ingredient-filter-button{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;padding:9px;background:transparent;border-radius:8px;color:var(--muted)}
.ingredient-filter-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.ingredient-filter-button:hover,.ingredient-filter-button[aria-expanded=true]{background:var(--bone);color:var(--navy)}
.ingredient-filter-button.is-filtered{color:var(--navy);background:var(--soft)}
.filter-dot{position:absolute;top:5px;right:5px;background:var(--pink);border:1px solid #b55d78;width:6px;height:6px;border-radius:50%}
.recipe-table .recipe-filter-row td{padding:12px 16px;background:var(--soft);text-align:left}
.recipe-filter-content{display:grid;grid-template-columns:auto minmax(120px,.8fr) minmax(160px,1fr) auto;gap:14px;align-items:end}
.recipe-filter-caption{font-size:12px;color:var(--navy);padding-bottom:10px}
.recipe-filter-content .field>span{font-size:12px}
.recipe-filter-content select{background:white;border-color:#e0cbd2}
.recipe-filter-content .ghost{grid-column:4;padding:8px 10px;min-height:38px;font-size:13px}
.recipe-table .recipe-table-empty{text-align:center;padding:30px 18px;color:var(--muted);font-size:14px}
.recipe-scroll-hint{display:none;font-size:12px;color:var(--muted);margin:4px 0 8px}
.recipe-table-add{width:auto;border:0;margin:8px 0 16px;padding:8px 10px;min-height:40px;border-radius:8px}
.recipe-table-add:hover{background:var(--soft)}
.recipe-totals{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 24px;background:var(--soft);border:1px solid #f0d3dd;border-radius:13px}
.recipe-totals>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.recipe-totals>div+div{border-left:1px solid #ead3db;padding-left:24px}
.recipe-totals span{font-size:13px;color:var(--navy);font-weight:600}
.recipe-totals strong{font-size:25px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.025em;overflow-wrap:anywhere}
.recipe-totals small{font-size:12px;color:var(--muted)}
.recipe-editor .yield-box>.field{max-width:480px}
@media(max-width:700px){.recipe-scroll-hint{display:block}.recipe-table-heading{gap:8px}.recipe-table-heading .small{font-size:11px}.recipe-table input,.recipe-table select{font-size:16px;min-height:44px;height:44px}.ingredient-filter-button,.recipe-table .icon-btn{height:44px;min-height:44px;width:40px}.recipe-totals{padding:16px;gap:12px}.recipe-totals>div+div{padding-left:14px}.recipe-totals strong{font-size:21px}.recipe-totals span{font-size:12px}.recipe-totals small{font-size:11px}}

/* Recipe output is independent of its folder and of its ingredients' units. */
.recipe-output-choice{margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recipe-output-choice h3{font-size:15px;margin-bottom:12px}
.recipe-output-options{display:flex;gap:6px;padding:4px;background:#f5f6f7;border-radius:12px;max-width:370px}
.recipe-output-options button{flex:1;text-align:left;display:flex;flex-direction:column;gap:1px;padding:9px 14px;border-radius:9px;background:transparent;font-size:14px;border:1px solid transparent}
.recipe-output-options button[aria-pressed=true]{background:var(--soft);border-color:var(--pink);color:var(--navy)}
.recipe-output-options button>span{font-size:12px;color:var(--muted)}
.recipe-output-choice p{margin:12px 0 0}

/* The same entry-table treatment across the cake costing workflow. */
.entry-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;background:var(--soft);border:1px solid #f0d3dd;border-radius:13px;margin-top:8px}
.entry-summary>div{min-width:0}.entry-summary span{font-size:13px;font-weight:600;color:var(--navy)}
.entry-summary small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.entry-summary-total{font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.table-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 14px}.table-actions .recipe-table-add{margin:0}
.table-note{margin-top:16px}.table-na{color:var(--muted)}
.recipe-table td.numeric-cell{text-align:right}
.recipe-table.labor-table{min-width:800px}.labor-table .labor-mode-col{width:180px}.labor-table .labor-hours-col{width:96px}.labor-table .labor-rate-col{width:154px}
.labor-table td:first-child,.expense-table td:first-child{text-align:left;padding:7px 8px}
.table-rate{display:block;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}
.table-rate small{color:var(--muted);font-size:12px}
.table-rate-input{display:flex;align-items:center;gap:5px}.table-rate-input input{flex:1;min-width:0}.table-rate-input>span{font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.recipe-table.expense-table{min-width:0}.expense-table .expense-cost-col{width:150px}.expense-table td:last-child{padding:7px 8px}
@media(max-width:950px){.labor-scroll-hint{display:block}}
@media(max-width:700px){.entry-summary{padding:16px;gap:12px}.entry-summary-total{font-size:21px}.entry-summary span{font-size:12px}.table-actions{align-items:flex-start}.table-actions .ghost{font-size:13px}.expense-table .expense-cost-col{width:126px}.expense-table td:first-child{font-size:13px}.table-rate{font-size:14px}}

/* A visible first action and one optional next row, without moving the table. */
.entry-add-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;max-width:100%;padding:10px 16px;margin:14px 0 12px;background:var(--soft);border:1px solid var(--pink);color:var(--navy);font-size:14px;font-weight:600;line-height:1.45}
.entry-add-icon{display:inline-grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:50%;background:white;font-size:21px;line-height:1}
.entry-add-button:hover{background:var(--bone);border-color:var(--navy)}
.entry-add-button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.entry-add-empty{width:100%;min-height:54px;background:var(--pink);animation:entry-invite 1.8s ease-out 2}
.table-actions .entry-add-empty{flex:1 1 100%;margin-top:8px}
.entry-placeholder{background:#fdf9fa}
.recipe-table .entry-placeholder select,.recipe-table .entry-placeholder input{background:white;border:1px dashed #b8a7ae}
.optional-entry-label{font-size:12px;font-weight:400;color:var(--muted)}
.optional-entry-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 16px}
@keyframes entry-invite{0%,100%{box-shadow:0 0 0 0 #ea98af00}45%{box-shadow:0 0 0 5px #ea98af55}}
@media(prefers-reduced-motion:reduce){.entry-add-empty{animation:none}}

/* Monthly operating estimates share the compact entry-table language. */
.recipe-table.monthly-expense-table{min-width:850px}.monthly-expense-table .monthly-category-col{width:185px}.monthly-expense-table .monthly-period-col{width:138px}.monthly-expense-table td:first-child{padding:7px 8px;text-align:left}
.monthly-covered{display:block;white-space:normal;font-size:11px;font-weight:400;color:var(--navy)}
.fixed-cost-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:var(--soft);border:1px solid var(--pink);border-radius:14px;padding:22px;margin-top:20px}.fixed-cost-metrics>div{display:flex;flex-direction:column;gap:7px;min-width:0}.fixed-cost-metrics span{font-size:13px;color:var(--navy)}.fixed-cost-metrics strong{font-size:25px;font-weight:600;overflow-wrap:anywhere}.fixed-cost-metrics small{font-size:13px;font-weight:400}.allocation-formula{font-size:13px;color:var(--navy);line-height:1.7;margin:12px 0 20px}
@media(max-width:700px){.fixed-cost-metrics{grid-template-columns:1fr;gap:14px;padding:18px}.fixed-cost-metrics>div+div{border-top:1px solid #ead3db;padding-top:14px}.fixed-cost-metrics strong{font-size:23px}}

.recipe-table.monthly-team-table{min-width:600px}.monthly-team-table .monthly-mode-col{width:190px}.monthly-team-table td:first-child{padding:7px 8px;text-align:left}
.expense-category-list{display:grid;gap:12px;margin-top:24px}.expense-category-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}.expense-category-card>div{min-width:0}.expense-category-card h3{margin:0 0 6px;overflow-wrap:anywhere}.expense-category-card p{margin:0 0 10px;white-space:pre-line;overflow-wrap:anywhere}.expense-category-card button{flex-shrink:0}.expense-category-editor{margin-top:20px}
@media(max-width:600px){.expense-category-card{align-items:flex-start;padding:16px;gap:12px;flex-wrap:wrap}.expense-category-card>div{flex:1 1 200px}.expense-category-card button{margin-left:auto}}

@media(max-width:600px){.fixed-detail-panel>.group-heading{flex-direction:column;align-items:flex-start;gap:12px}.fixed-detail-panel>.group-heading>div{width:100%}}


/* Help is available without taking over the form. */
.section-guide.guide-collapsed{padding:10px 16px;background:#fffafc}.guide-collapsed .guide-heading h3{font-size:13px;font-weight:400}.guide-collapsed .guide-toggle{animation:guide-invite .7s ease-in-out .4s 2}.guide-toggle:hover,.guide-toggle:focus-visible{animation:none}
@keyframes guide-invite{0%,100%{transform:translateY(0)}35%{transform:translateY(-3px)}65%{transform:translateY(1px)}}
@media(prefers-reduced-motion:reduce){.guide-collapsed .guide-toggle{animation:none}}

/* Pricing: one live cost table, two comparable prices, and a distinct client total. */
.pricing-flow{display:grid;gap:24px}.pricing-flow>.panel{margin:0}.pricing-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pricing-heading h2{margin:0}.pricing-number{display:grid;place-items:center;background:var(--pink);color:var(--navy);width:30px;height:30px;flex-shrink:0;border-radius:50%;font-weight:600;font-size:13px}.pricing-table-note{margin:14px 0 0}
.cost-breakdown-frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:20px}.cost-breakdown-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.cost-breakdown-table th,.cost-breakdown-table td{padding:10px 18px;border-bottom:1px solid #edf0f1}.cost-breakdown-table th{font-weight:400;text-align:left}.cost-breakdown-table td,.cost-breakdown-table thead th:last-child{text-align:right;width:28%;font-variant-numeric:tabular-nums}.cost-breakdown-table td{white-space:nowrap}.cost-breakdown-table thead th{background:#f8f9fa;color:var(--muted);font-size:12px;font-weight:600;padding-top:13px;padding-bottom:13px}.cost-breakdown-table .cost-group th{background:var(--soft);color:var(--navy);font-size:12px;font-weight:600;padding:12px 18px}.cost-group span{margin-left:10px;font-size:11px;font-weight:400;color:var(--muted)}.cost-breakdown-table .cost-subtotal>*{font-weight:600;background:#fcfcfd}.cost-breakdown-table .cost-card-row>*{background:#fff9fb;color:var(--navy);font-weight:600}.cost-breakdown-table .cost-before-card>*{color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.cost-breakdown-table .cost-grand-total>*{background:var(--navy);color:white;border:0;padding-top:17px;padding-bottom:17px;font-weight:600}.cost-breakdown-table .cost-grand-total td{font-size:22px}
.pricing-payment-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.pricing-payment-top .payment-switch{margin:0}.pricing-fee-badge{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.pricing-fee-badge span{font-size:12px;color:var(--muted)}.pricing-fee-badge strong{font-size:25px;color:var(--navy);font-variant-numeric:tabular-nums}.pricing-card-note{background:var(--soft);border-radius:10px;padding:12px 16px;font-size:14px;margin-top:16px}
.food-cost-target-field{display:grid;grid-template-columns:minmax(230px,1fr) 1fr;gap:32px;align-items:start;margin:24px 0}.food-cost-target-field>.field{margin:0}.food-cost-target-field>div:first-child{max-width:420px}.food-cost-target-field .small{margin:8px 0 0}.food-cost-reference{border-left:1px solid var(--line);padding-left:28px;font-size:12px;line-height:1.7}.food-cost-reference>strong{font-size:15px;color:var(--navy)}.food-cost-reference details{margin-top:10px}.food-cost-reference summary,.pricing-vat-options summary{cursor:pointer;color:var(--navy);font-size:12px}.food-cost-reference a{color:var(--navy);text-decoration:underline}.food-cost-explainer{background:#f8f9fa;border-radius:12px;padding:16px 20px;margin-bottom:20px;font-size:13px}.food-cost-explainer p:last-child{margin-bottom:0}
.pricing-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.pricing-price-card{border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0;background:white}.pricing-price-card.suggested{background:var(--soft);border-color:#edc5d2}.pricing-price-card.chosen{border-color:#b8cbd8}.pricing-card-head{min-height:112px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.pricing-card-head h3{font-size:19px;line-height:1.45;max-width:340px;margin:0}.pricing-card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}.pricing-tax-tag{display:inline-block;background:white;border:1px solid #dde3e8;border-radius:30px;padding:3px 9px;font-size:11px;color:var(--navy)}.pricing-price-value{font-size:clamp(27px,3vw,42px);line-height:1.2;font-weight:600;letter-spacing:-.025em;min-height:92px;display:flex;align-items:center;overflow-wrap:anywhere}.pricing-sale-input{min-height:92px;display:flex;align-items:center}.pricing-sale-input .field{width:100%;gap:5px}.pricing-sale-input .field>span{font-size:12px;color:var(--muted);font-weight:400}.pricing-sale-input input{font-size:28px;line-height:1.2;font-weight:600;padding:10px 12px;border-color:#9ab1c1}.pricing-price-card>.small{min-height:44px;margin:10px 0 16px}.pricing-price-card .summary-row{font-size:13px}.pricing-kept{margin-top:20px;border-top:1px solid #d5dee3;padding-top:16px;display:flex;flex-direction:column;gap:7px}.pricing-kept>span{font-size:14px;min-height:42px;max-width:320px;font-weight:600}.pricing-kept strong{font-size:28px;color:var(--navy);font-variant-numeric:tabular-nums}.pricing-kept small{color:var(--muted);font-size:11px}.pricing-kept.is-loss strong{color:var(--danger)}.pricing-price-card .primary{margin-top:18px;width:100%}.pricing-suggestion-footnote{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.7}
.pricing-feedback{font-size:12px;line-height:1.7;border-radius:10px;padding:13px 15px;margin:16px 0 0;background:#f2f5f7;border:1px solid #dce6ec;color:var(--navy)}.pricing-feedback.review{background:#fbf1eb;border-color:#e2c4b8;color:#734b3b}.pricing-feedback.loss{background:#fff0ed;border-color:#e9b0a8;color:#963f33}.pricing-feedback.positive{background:#eef6f0;border-color:#b6d5bf;color:#305e40}
.pricing-final-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:24px 0 28px}.pricing-tax-settings,.pricing-delivery-setting{min-width:0;padding:20px;border:1px solid var(--line);border-radius:14px}.pricing-tax-settings h3,.pricing-delivery-setting h3,.pricing-charge-summary h3{font-size:15px;margin:0 0 15px;line-height:1.5}.pricing-tax-settings>.small,.pricing-delivery-setting>.small{margin:10px 0 0;font-size:12px}.pricing-tax-settings>.field>span{font-size:12px}.pricing-vat-options{margin:14px 0 0}.pricing-vat-options .summary-row{font-size:12px;flex-wrap:wrap}.pricing-delivery-setting{background:var(--soft);border-color:#edc5d2}.pricing-delivery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}.pricing-delivery-heading h3{margin:0}.pricing-delivery-heading .ghost{font-size:12px;padding:0;flex-shrink:0;min-height:30px;text-decoration:underline;text-underline-offset:3px}.pricing-delivery-status{display:inline-block;font-size:12px;font-weight:600;color:var(--navy)}.pricing-delivery-charge{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin:14px 0;padding-top:14px;border-top:1px solid #e2cbd3}.pricing-delivery-charge span{font-size:12px;color:var(--muted)}.pricing-delivery-charge strong{font-size:22px;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.pricing-charge-summary>.cost-breakdown-frame{margin-top:12px}.client-charge-table .client-vat-row>*{color:var(--navy);background:#fff9fb}.client-charge-table .cost-grand-total td{font-size:30px}.client-charge-table .cost-grand-total th{font-size:15px}.pricing-vat-panel>.guide-copy{margin:18px 0 0}
@media(max-width:800px){.pricing-price-grid,.pricing-final-settings,.food-cost-target-field{grid-template-columns:1fr;gap:20px}.food-cost-target-field>div:first-child{max-width:none}.food-cost-reference{border-left:0;padding-left:0}.pricing-card-head{min-height:0}.pricing-price-value,.pricing-sale-input{min-height:90px}.pricing-kept>span,.pricing-price-card>.small{min-height:0}.pricing-price-card .field-help:not([hidden]){margin-bottom:8px}}
@media(max-width:500px){.pricing-flow{gap:18px}.pricing-heading{align-items:flex-start}.pricing-number{width:27px;height:27px}.cost-breakdown-table{font-size:12px}.cost-breakdown-table th,.cost-breakdown-table td{padding:9px 12px}.cost-breakdown-table td,.cost-breakdown-table thead th:last-child{width:36%}.cost-breakdown-table .cost-group th{padding:11px 12px}.cost-group span{display:block;margin:2px 0 0}.cost-breakdown-table .cost-grand-total td{font-size:18px;white-space:normal}.cost-breakdown-table .cost-card-row td{white-space:normal}.pricing-payment-top{align-items:flex-start;flex-direction:column;gap:14px}.pricing-fee-badge{align-items:flex-start}.pricing-price-card{padding:18px}.pricing-tax-settings,.pricing-delivery-setting{padding:16px}.pricing-delivery-heading{align-items:flex-start;flex-wrap:wrap;gap:4px}.client-charge-table .cost-grand-total td{font-size:22px}.client-charge-table .cost-grand-total th{font-size:13px}.pricing-card-head h3{font-size:18px}}

/* Printable cost report: quiet tables, aligned figures and Cake Studio typography. */
.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px auto;max-width:980px}.report-toolbar strong{font-size:15px}.report-toolbar p{font-size:12px;color:var(--muted);margin:3px 0}.report-toolbar>div:last-child{display:flex;gap:10px;flex-wrap:wrap}.report-toolbar button{font-size:13px;padding:11px 17px}.cost-report{max-width:980px;margin:auto;display:grid;gap:28px}.report-paper{background:white;border:1px solid var(--line);border-radius:5px;padding:36px 44px 24px;box-shadow:0 8px 30px #17262e05;min-width:0}.report-header{border-top:5px solid var(--pink);padding-top:22px;position:relative}.report-business{display:flex;align-items:center;gap:16px;padding-right:130px;font-size:14px;color:var(--navy)}.report-business p{font-size:11px;color:var(--muted);margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.report-logo{max-width:80px;max-height:48px;object-fit:contain}.report-document-tag{position:absolute;right:0;top:24px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.report-header h2{font:800 38px/1.1 Heading,Poppins,sans-serif;margin:30px 0 9px}.report-cake-name{font-size:18px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;margin:0 0 4px}.report-subtitle{font-size:12px;color:var(--muted);margin:0 0 22px}.report-meta{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--soft);margin-bottom:28px}.report-meta td{padding:12px 15px;vertical-align:top}.report-meta span,.report-meta strong{display:block;overflow-wrap:anywhere}.report-meta span{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.report-meta strong{font-size:12px;font-weight:600}.report-section-heading{display:flex;gap:12px;align-items:baseline;font:600 15px/1.5 Poppins,sans-serif;margin:26px 0 12px}.report-section-heading>span{color:var(--navy);font-size:11px}.report-table-wrap{border:1px solid var(--line);border-radius:4px;overflow:hidden;min-width:0}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;line-height:1.6}.report-table th,.report-table td{padding:8px 11px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;text-align:left;font-weight:400}.report-table th:first-child{width:69%}.report-table td:last-child,.report-table thead th:last-child{text-align:right;font-variant-numeric:tabular-nums}.report-table thead th{background:#f5f7f8;color:var(--muted);font-size:10px;font-weight:600}.report-table tbody tr:last-child>*{border-bottom:0}.report-table .report-row-group>*{background:var(--soft);font-weight:600;color:var(--navy)}.report-table .report-row-subtotal>*{background:#f5f7f8;font-weight:600}.report-table .report-row-total>*{background:var(--navy);color:white;font-weight:600;border-color:var(--navy)}.report-table .report-row-loss>*{background:var(--danger);color:white;font-weight:600}.report-table .report-row-empty>*,.report-table .report-row-muted>*{color:var(--muted)}.report-materials th:first-child{width:43%}.report-materials th:nth-child(2){width:11%}.report-materials th:nth-child(3){width:9%}.report-materials th:nth-child(4){width:19%}.report-materials th:nth-child(5){width:18%}.report-materials td:not(:first-child),.report-materials thead th:not(:first-child){text-align:right}.report-labor th:first-child{width:35%}.report-labor th:nth-child(2){width:47%}.report-labor th:nth-child(3){width:18%}.report-detail-stack{display:grid;gap:14px}.report-summary-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.report-summary-stack>section{min-width:0}.report-note{font-size:10px;color:var(--muted);line-height:1.7;margin:20px 0 28px}.report-footer{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--pink);padding-top:12px;margin-top:28px;font-size:9px;color:var(--muted)}
@media(max-width:800px){.report-paper{padding:24px}.report-toolbar{flex-wrap:wrap}.report-header h2{font-size:33px}.report-meta td{padding:10px}.report-business{padding-right:0}.report-document-tag{position:static;margin-top:12px}.report-header h2{margin-top:18px}}
@media(max-width:500px){.report-paper{padding:16px 12px}.report-meta{margin-bottom:20px}.report-meta td{padding:9px 6px}.report-meta span{font-size:8px;letter-spacing:0}.report-meta strong{font-size:10px}.report-header h2{font-size:29px}.report-cake-name{font-size:15px}.report-table{font-size:10px}.report-table th,.report-table td{padding:7px}.report-materials{min-width:620px}.report-table-wrap:has(.report-materials){overflow-x:auto}.report-footer{flex-direction:column;gap:4px}.report-toolbar button{font-size:12px}.report-section-heading{font-size:14px}}
@media print{
 @page{size:A4;margin:12mm}
 body:has(.cost-report){background:white;font-size:10pt}
 body:has(.cost-report) .topbar,body:has(.cost-report) .page-heading,body:has(.cost-report) .report-toolbar,body:has(.cost-report) .footer-nav,body:has(.cost-report) .storage-note,body:has(.cost-report) .notice,body:has(.cost-report) .section-guide{display:none!important}
 body:has(.cost-report) .main,body:has(.cost-report) .form-shell{padding:0;margin:0;max-width:none}
 .cost-report{display:block;max-width:none}.report-paper{padding:0;border:0;box-shadow:none;border-radius:0;break-after:page}.report-paper:last-child{break-after:auto}.report-header{padding-top:16px}.report-header h2{font-size:29pt;margin-top:20px}.report-business{font-size:10pt}.report-summary-stack{display:block}.report-summary-stack>section{break-inside:avoid}.report-table-wrap{overflow:visible;border:0}.report-table{font-size:8pt}.report-table th,.report-table td{padding:5pt}.report-materials{min-width:0}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.report-section-heading{break-after:avoid}.report-row-group{break-after:avoid}.report-header,.report-meta,.report-note,.report-footer{break-inside:avoid}.report-table,.report-meta{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-document-tag{position:absolute;right:0;top:22px}.report-footer{flex-direction:row}.report-subtitle{font-size:9pt}.report-cake-name{font-size:12pt}.report-meta{margin-bottom:18px}.report-section-heading{margin-top:18px;font-size:10pt}.report-note{font-size:7pt}
}

.report-scroll-hint{display:none}@media(max-width:500px){.report-scroll-hint{display:block;font-size:10px;color:var(--navy);margin:0 0 10px}}@media print{.report-scroll-hint{display:none!important}}

/* Bakery-branded quotation: one readable document in preview and print. */
.quote-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 16px}.quote-preview-toolbar .preview-heading{margin:0}.quote-preview-toolbar button{font-size:13px}.branded-quote{font:12px/1.6 Poppins,sans-serif;padding:40px;max-width:900px;box-shadow:0 8px 30px #17262e05}.quotation-header{border-top:5px solid var(--pink);padding-top:25px}.quotation-identity{display:flex;align-items:center;gap:22px;min-width:0}.quotation-identity>div{min-width:0}.branded-quote .quotation-identity h2{font:600 23px/1.4 Poppins,sans-serif;color:var(--navy);margin:0 0 7px}.quotation-identity p{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0;color:var(--muted);font-size:11px}.quotation-logo{width:85px;height:75px;object-fit:contain;object-position:left center;flex-shrink:0}.branded-quote .quotation-title{font:800 36px/1.2 Heading,Poppins,sans-serif;margin:28px 0 18px}.quotation-meta{display:flex;gap:20px;background:var(--soft);padding:15px 18px;margin:0}.quotation-meta>div{min-width:0;flex:1}.quotation-meta dt{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.quotation-meta dd{margin:5px 0 0;font-size:12px;font-weight:600;overflow-wrap:anywhere}.quotation-client{padding:25px 0}.quotation-client>span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.branded-quote .quotation-client h3{font:600 16px/1.5 Poppins,sans-serif;margin:5px 0;overflow-wrap:anywhere}.quotation-items,.quotation-totals{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px}.quotation-index{width:7%}.quotation-amount{width:25%}.quotation-items th,.quotation-items td{padding:13px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-weight:400}.quotation-items thead th{background:var(--soft);font-size:10px;color:var(--muted);font-weight:600}.quotation-items td:first-child{color:var(--muted);font-size:10px}.quotation-items td:last-child,.quotation-items th:last-child{text-align:right;font-variant-numeric:tabular-nums}.quotation-items td:last-child{font-weight:600}.quotation-items p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:11px}.quotation-tax-note{font-size:10px;color:var(--muted);margin:10px 0}.quotation-totals{margin:18px 0 24px}.quotation-totals th,.quotation-totals td{padding:10px;text-align:left;border-bottom:1px solid var(--line);font-weight:400}.quotation-totals th{width:70%}.quotation-totals td{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.quotation-grand-total>*{background:var(--navy);color:white;font-weight:600!important;border-color:var(--navy)!important;font-size:16px}.quotation-notes{font-size:11px;color:var(--muted)}.branded-quote .quotation-notes h3{font:600 10px/1.6 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0}.quotation-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.quotation-notes .quotation-thanks{font-size:12px;font-weight:600;color:var(--navy);margin:25px 0 0}.branded-quote .quotation-footer{border-top:1px solid var(--pink);padding-top:14px;margin-top:32px;font-size:9px;color:var(--muted)}.quotation-footer>strong,.quotation-footer>span{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.quotation-footer>strong{font-size:10px;color:var(--navy)}.quotation-footer>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;overflow-wrap:anywhere}
@media(max-width:600px){.branded-quote{padding:22px 16px}.quote-preview-toolbar{flex-wrap:wrap}.quotation-identity{gap:14px;align-items:flex-start}.quotation-logo{width:64px;height:60px}.branded-quote .quotation-identity h2{font-size:18px}.quotation-identity p{font-size:10px}.branded-quote .quotation-title{font-size:31px;margin-top:24px}.quotation-meta{gap:12px;padding:12px}.quotation-meta dd{font-size:10px}.quotation-meta dt{font-size:8px}.quotation-index{width:10%}.quotation-amount{width:28%}.quotation-items{font-size:11px}.quotation-items th,.quotation-items td{padding:10px 5px}.quotation-grand-total>*{font-size:14px}.quotation-footer>div{display:grid;gap:4px}}
@media print{body:has(.branded-quote) .quote-editor,body:has(.branded-quote) .quote-preview-toolbar,body:has(.branded-quote) .preview-heading,body:has(.branded-quote) .notice,body:has(.branded-quote) .brand-layout>.panel{display:none!important}.branded-quote{border:0;box-shadow:none;padding:0;max-width:none}.quotation-header,.quotation-meta,.quotation-client,.quotation-notes,.quotation-footer{break-inside:avoid}.quotation-items thead{display:table-header-group}.quotation-items tr,.quotation-totals{break-inside:avoid}.quotation-items,.quotation-totals,.quotation-meta{-webkit-print-color-adjust:exact;print-color-adjust:exact}.brand-layout{display:block}}

/* Dashboard and seven-step costing workspace. */
.workspace-topbar{padding:12px 32px}.home-brand{padding:0;background:transparent;border:0}.home-brand img{display:block}.workspace-home{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:white;font-size:13px;color:var(--navy)}.workspace-home svg{width:17px;height:17px}.app-shell{max-width:1440px;padding:30px 36px 40px}.app-shell .main{padding:0;min-width:0}.app-shell .page-heading{margin-bottom:22px}.app-shell h1{font-size:40px;line-height:1.2}.dashboard-shell{max-width:1200px;padding-top:42px}.dashboard-shell .page-heading{margin-bottom:10px}.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.dashboard-intro>p{margin:0;color:var(--muted);font-size:14px}.dashboard-business{flex-shrink:0;max-width:40%;overflow-wrap:anywhere;border:1px solid #ead9e0;background:var(--soft);border-radius:30px;padding:7px 13px;font-size:12px;color:var(--navy)}.dashboard-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;color:var(--ink)}.dashboard-card-featured{background:var(--soft);border-color:var(--pink)}.dashboard-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border:1px solid #ecdee3;background:#fffafb;border-radius:12px;color:var(--navy);margin-bottom:18px}.dashboard-icon svg{width:23px;height:23px}.dashboard-card-featured .dashboard-icon{background:var(--pink);border-color:var(--pink)}.dashboard-card-title{display:block;font-size:16px;font-weight:600;line-height:1.45;margin-bottom:9px}.dashboard-card-description{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:22px}.dashboard-card-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;align-self:stretch;margin-top:auto;padding-top:14px;color:var(--navy);font-size:11px}.dashboard-card-featured .dashboard-card-foot{border-color:#eacbd6}.dashboard-card-foot svg,.dashboard-document-link svg{width:17px;height:17px;flex-shrink:0}.dashboard-card:hover,.dashboard-document-card:hover{border-color:var(--pink);box-shadow:0 6px 18px #17262e06}.dashboard-documents{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.dashboard-eyebrow{font-size:10px;letter-spacing:.1em;font-weight:600;color:var(--muted)}.dashboard-section-heading h2{font-size:22px;line-height:1.4;margin:7px 0}.dashboard-section-heading h2:focus{outline:none}.dashboard-section-heading p{font-size:12px;color:var(--muted);margin:0;overflow-wrap:anywhere}.dashboard-section-heading p strong{font-weight:400;color:var(--ink)}.dashboard-section-heading .secondary{font-size:12px;white-space:nowrap}.dashboard-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-document-card{border:1px solid var(--line);background:white;border-radius:18px;padding:24px;display:flex;gap:20px;text-align:left;min-width:0;color:var(--ink)}.dashboard-document-card .dashboard-icon{background:var(--soft);margin:0}.dashboard-document-copy{display:block;min-width:0}.dashboard-document-tag{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.dashboard-document-card .dashboard-card-description{margin-bottom:15px}.dashboard-document-link{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--navy);font-weight:600}.dashboard-download-note{font-size:11px;color:var(--muted);margin:16px 0 0}.workspace-context{display:flex;align-items:center;gap:14px;margin:0 0 26px;min-width:0}.context-back{display:flex;align-items:center;gap:8px;background:transparent;padding:5px 0;font-size:12px;color:var(--navy);flex-shrink:0}.context-back svg{width:17px;height:17px}.context-separator{color:#b4bdc2}.context-current{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.workspace-context .new-cake,.workspace-context .context-edit{margin-left:auto;font-size:12px;padding:9px 14px;white-space:nowrap}.app-body.with-stepper{display:grid;grid-template-columns:238px minmax(0,1fr);gap:34px;align-items:start}.cost-stepper{position:sticky;top:24px;background:white;border:1px solid var(--line);border-radius:18px;padding:20px 12px 12px}.stepper-desktop-heading{padding:0 10px 15px;border-bottom:1px solid var(--line);margin-bottom:14px}.stepper-desktop-heading p{font-size:12px;color:var(--navy);line-height:1.6;overflow-wrap:anywhere;margin:7px 0 0}.cost-step-list ol{list-style:none;padding:0;margin:0;position:relative}.cost-step-list li{position:relative;padding:0 0 8px}.cost-step-list li:not(:last-child):before{content:'';position:absolute;left:25px;top:34px;bottom:-16px;width:1px;background:var(--line)}.cost-step-list li button{width:100%;position:relative;display:flex;align-items:flex-start;gap:12px;text-align:left;padding:12px 10px;background:transparent;border-radius:12px;color:var(--muted)}.cost-step-list li button.active{background:var(--soft);color:var(--ink)}.cost-step-list li button:hover{background:var(--soft)}.step-number{display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border:1px solid var(--line);background:white;border-radius:50%;font-size:11px;font-weight:600;position:relative;z-index:1}.active .step-number{background:var(--pink);border-color:var(--pink);color:var(--ink)}.cost-step-list strong{display:block;font-size:12px;line-height:1.5;font-weight:600;margin:2px 0 3px}.cost-step-list small{display:block;color:var(--muted);font-size:9px;line-height:1.5}.stepper-documents{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);background:transparent;width:100%;padding:18px 10px 8px;color:var(--navy);font-size:11px;margin-top:6px}.stepper-documents svg{width:16px;height:16px;flex-shrink:0}.stepper-documents svg:last-child{margin-left:auto}.stepper-toggle{display:none}.costing-footer{border-top:1px solid var(--line);padding-top:20px}.area-shell{max-width:1300px}.dashboard-card:focus-visible,.dashboard-document-card:focus-visible,.cost-step-list button:focus-visible,.stepper-toggle:focus-visible,.context-back:focus-visible,.home-brand:focus-visible,.workspace-home:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
@media(min-width:1500px){.dashboard-shell{padding-top:50px}.dashboard-card{padding:28px}.dashboard-card-description{font-size:13px}.app-body.with-stepper{gap:42px}}
@media(max-width:1100px){.app-shell{padding:24px}.app-body.with-stepper{grid-template-columns:210px minmax(0,1fr);gap:24px}.cost-stepper{padding:18px 8px 10px}.cost-step-list li button{gap:9px}.cost-step-list small{font-size:9px}.app-shell h1{font-size:35px}.dashboard-intro{align-items:flex-start}.dashboard-card{padding:21px}.dashboard-card-title{font-size:15px}}
@media(max-width:850px){.app-body.with-stepper{display:block}.cost-stepper{position:static;padding:0;margin-bottom:24px;border-radius:14px}.stepper-desktop-heading{display:none}.stepper-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:13px 16px;background:var(--soft);text-align:left;border-radius:14px;color:var(--navy)}.stepper-toggle>span:last-child{display:flex;align-items:center;gap:6px;font-size:11px}.stepper-toggle svg{width:16px;height:16px}.stepper-toggle small{display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.stepper-toggle strong{display:block;font-size:13px;font-weight:600}.cost-step-list{display:none;padding:12px}.cost-stepper.is-open .cost-step-list{display:block}.cost-stepper.is-open .stepper-toggle svg{transform:rotate(180deg)}.cost-step-list li button{padding:10px}.cost-step-list li{padding-bottom:4px}.cost-step-list strong{font-size:12px}.cost-step-list small{font-size:10px}.cost-step-list li:not(:last-child):before{bottom:-12px}.dashboard-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-document-card{padding:20px;gap:14px}.dashboard-document-card .dashboard-icon{width:35px;height:35px;border-radius:10px}.workspace-topbar{padding:12px 24px}.app-shell .main{padding:0}}
@media(max-width:600px){.workspace-topbar{padding:10px 16px;gap:12px}.workspace-topbar .top-end{gap:8px}.workspace-topbar .badge{max-width:86px;font-size:9px}.workspace-home{padding:8px;font-size:11px}.workspace-home svg{width:15px;height:15px}.workspace-topbar .top-title{font-size:12px}.workspace-topbar .brand{height:45px;width:53px}.app-shell{padding:20px 16px 28px}.dashboard-shell{padding-top:30px}.app-shell h1{font-size:32px}.dashboard-intro{display:block;margin-bottom:24px}.dashboard-intro>p{font-size:13px}.dashboard-business{display:inline-block;max-width:100%;margin-top:16px}.dashboard-tools{gap:12px}.dashboard-card{padding:16px}.dashboard-card-title{font-size:14px}.dashboard-card-description{font-size:11px;margin-bottom:16px}.dashboard-icon{width:36px;height:36px;border-radius:10px;margin-bottom:14px}.dashboard-icon svg{width:21px;height:21px}.dashboard-card-foot{font-size:10px;gap:7px;padding-top:12px}.dashboard-card-foot svg{width:14px}.dashboard-documents{margin-top:30px;padding-top:25px}.dashboard-section-heading{align-items:flex-start;gap:12px}.dashboard-section-heading h2{font-size:20px}.dashboard-section-heading .secondary{font-size:10px;padding:8px 10px}.dashboard-document-grid{grid-template-columns:1fr;gap:12px}.dashboard-document-card{padding:19px}.dashboard-document-card .dashboard-card-title{font-size:15px}.workspace-context{gap:10px;flex-wrap:wrap;margin-bottom:20px}.context-current{font-size:11px}.context-back{font-size:11px}.workspace-context .new-cake,.workspace-context .context-edit{font-size:10px;padding:8px 10px}.dashboard-shell .overline{font-size:10px}.costing-footer{margin-top:22px}.cost-stepper{margin-bottom:20px}}
@media(max-width:360px){.dashboard-tools{grid-template-columns:1fr}.dashboard-card{padding:20px}.workspace-home span{display:none}.workspace-topbar .badge{display:none}.workspace-context .context-current,.workspace-context .context-separator{display:none}}
@media(prefers-reduced-motion:no-preference){.dashboard-card,.dashboard-document-card{transition:border-color .15s,box-shadow .15s}}
@media print{.workspace-context,.cost-stepper{display:none!important}.app-shell{padding:0;max-width:none}.app-body.with-stepper{display:block}.app-shell .main{padding:0}}

@media(max-width:600px){.workspace-topbar .badge{max-width:none;white-space:nowrap;padding:5px 9px}}

/* Searchable catalogues: compact rows lead to a read-only record. */
.catalogue-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:4px 0 24px}.catalogue-intro h2{font-size:20px;margin:0 0 7px}.catalogue-intro p{margin:0;font-size:14px}.catalogue-intro .primary{flex-shrink:0}
.catalogue-panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.catalogue-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:24px 24px 18px}.catalogue-toolbar>.field{flex:1;max-width:390px}.catalogue-filter{display:flex;align-items:end;gap:12px}.catalogue-filter .field{min-width:190px;max-width:280px}.catalogue-filter .secondary{white-space:nowrap;min-height:46px;padding:10px 14px;font-size:13px}.catalogue-toolbar .field>span{font-size:12px}.catalogue-toolbar input,.catalogue-toolbar select{font-size:14px;min-height:46px}.catalogue-panel>.category-creator{margin:0 24px 20px}.catalogue-status{display:flex;justify-content:space-between;gap:16px;padding:0 24px 14px;color:var(--muted);font-size:12px}.catalogue-status p{margin:0}.catalogue-status p:first-child{font-weight:600;color:var(--navy)}
.catalogue-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.catalogue-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:750px}.catalogue-table thead{background:#f8f4f4;color:#52616b}.catalogue-table thead th{font-weight:500;font-size:11px;letter-spacing:.025em;padding:13px 18px;border-block:1px solid var(--line);white-space:nowrap}.catalogue-table tbody th,.catalogue-table tbody td{padding:16px 18px;border-bottom:1px solid #edf0f1;vertical-align:middle;font-weight:400}.catalogue-table tbody tr:last-child>*{border-bottom:0}.catalogue-table th:first-child{padding-left:24px;min-width:210px;max-width:360px}.catalogue-table .catalogue-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.catalogue-table tbody tr[data-action]{cursor:pointer}.catalogue-table tbody tr[data-action]:hover,.catalogue-table tbody tr:focus-within{background:#fdf3f6}.record-link{display:block;text-align:left;max-width:100%;background:none;color:var(--navy);font-size:14px;font-weight:600;padding:0;line-height:1.5;overflow-wrap:anywhere}.record-link:hover{text-decoration:underline;text-underline-offset:4px}.record-link:focus-visible{outline:2px solid var(--navy);outline-offset:6px;border-radius:3px}.catalogue-category{display:inline-block;background:#f4eae980;border:1px solid #eddce1;color:#72515e;border-radius:6px;padding:3px 8px;font-size:11px;line-height:1.5;overflow-wrap:anywhere;max-width:220px}.catalogue-table .record-arrow{font-size:17px;color:#9b6878;padding-right:24px;width:24px}.catalogue-table .catalogue-empty{padding:42px 24px;text-align:center;color:var(--muted);white-space:normal}.catalogue-mobile-hint{display:none}.record-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 24px}.record-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}.record-toolbar button{font-size:13px}.record-card{padding:30px}.record-heading{padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}.record-heading h2{font-size:24px;margin:14px 0 6px;overflow-wrap:anywhere}.record-heading p{margin:0;font-size:13px}.record-card h3{font-size:15px;margin:0 0 16px}.record-ingredients{min-width:560px}.record-ingredients th:first-child{padding-left:18px}.record-ingredients tbody th{font-weight:500;color:var(--navy)}.record-summary{width:100%;border-collapse:collapse;font-size:14px;margin:24px 0}.record-summary caption{text-align:left;color:var(--navy);font-weight:600;padding:0 0 14px}.record-summary th,.record-summary td{padding:14px 16px;border-bottom:1px solid var(--line)}.record-summary th{font-weight:400;text-align:left}.record-summary td{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.record-summary tr:last-child{background:#fdf0f4;color:var(--navy)}.employee-record-data{margin-top:24px}.employee-record-data .summary-row{border-bottom:1px solid var(--line);padding:12px 0}.employee-record-data .summary-row span:first-child{color:var(--muted)}.employee-record-data .summary-row span:last-child{font-weight:500;white-space:normal;text-align:right;overflow-wrap:anywhere}
@media(max-width:1000px){.catalogue-toolbar{flex-wrap:wrap;gap:18px}.catalogue-toolbar>.field{max-width:none;min-width:240px}.catalogue-filter{flex:1}.catalogue-filter .field{flex:1;max-width:none}.catalogue-status p:last-child{display:none}.catalogue-mobile-hint{display:block;color:var(--muted);font-size:11px;padding:12px 20px;margin:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.catalogue-intro{align-items:start;flex-direction:column;gap:16px}.catalogue-intro h2{font-size:18px}.catalogue-intro .primary{width:100%}.catalogue-toolbar{display:block;padding:18px 16px 14px}.catalogue-toolbar>.field{min-width:0}.catalogue-filter{margin-top:16px;gap:8px;align-items:end}.catalogue-filter .field{min-width:0}.catalogue-filter .secondary{padding:10px;font-size:12px}.catalogue-toolbar input,.catalogue-toolbar select{font-size:16px}.catalogue-status{padding:0 16px 14px}.catalogue-panel>.category-creator{margin:0 16px 16px}.catalogue-table th:first-child{padding-left:16px;min-width:200px;max-width:240px}.catalogue-table tbody td,.catalogue-table tbody th{padding:14px 16px}.catalogue-table tbody th:first-child{position:sticky;left:0;background:white;box-shadow:3px 0 5px #00000004}.catalogue-table tbody tr:hover th:first-child,.catalogue-table tbody tr:focus-within th:first-child{background:#fdf3f6}.record-toolbar{align-items:stretch;flex-direction:column;gap:12px}.record-toolbar>div{justify-content:flex-end}.record-toolbar>button{align-self:flex-start}.record-card{padding:20px 16px}.record-heading h2{font-size:21px}.record-summary th,.record-summary td{padding:12px 10px;font-size:13px}.record-summary td{overflow-wrap:anywhere}.record-ingredients th:first-child{position:static!important}.catalogue-panel .category-actions{flex-wrap:wrap}}
/* Anchor visually hidden column labels inside the scrolling region. */
.catalogue-scroll{position:relative}
