:root{--ink:#19211d;--muted:#6a746e;--line:#dfe5e1;--surface:#fff;--canvas:#f3f6f4;--brand:#176b4d;--brand-dark:#0f513a;--accent:#e9f4ef;--danger:#b42318;--radius:14px;--shadow:0 8px 28px rgba(22,41,32,.09)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.muted{color:var(--muted)}.compact{font-size:.88rem}.eyebrow{margin:0 0 5px;color:var(--brand);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-mark{display:grid;width:54px;height:54px;border-radius:16px;background:var(--brand);color:#fff;place-items:center;font-size:1.5rem;font-weight:800}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:1.1rem}.button{min-height:42px;padding:9px 15px;border:1px solid transparent;border-radius:10px;background:#fff;font-weight:700}.button.primary{background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-dark)}.button.ghost{border-color:var(--line);background:#fff}.button.danger{background:var(--danger);color:#fff}.button.danger-outline{border-color:#efb5b0;background:#fff;color:var(--danger)}.button.wide{width:100%}.messages{position:fixed;z-index:50;top:72px;left:50%;width:min(520px,calc(100% - 24px));transform:translateX(-50%)}.message{margin:6px;padding:12px 16px;border-radius:10px;background:#26332d;color:#fff;box-shadow:var(--shadow)}.message.success{background:var(--brand)}.message.error{background:var(--danger)}
.setup-page,.shift-start-page{display:grid;min-height:100vh;padding:24px;place-items:center}.setup-card{width:min(440px,100%);padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.setup-card h1{margin:8px 0}.setup-card .brand-mark{margin-bottom:22px}.stack-form{display:grid;gap:16px;margin-top:24px}.stack-form label,.dialog-card label{display:grid;gap:7px;font-size:.84rem;font-weight:700}.stack-form p,.dialog-card p{display:grid;gap:7px;margin:0;font-size:.84rem;font-weight:700}.stack-form input,.stack-form select,.dialog-card input,.dialog-card select,.dialog-card textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid #cbd4cf;border-radius:9px;background:#fff}.form-errors,.errorlist{color:var(--danger);font-size:.82rem}.empty-state{padding:24px;border:1px dashed #bbc7c0;border-radius:12px;color:var(--muted);text-align:center}
.pos-header{display:flex;height:64px;padding:8px 16px;border-bottom:1px solid var(--line);background:#fff;align-items:center;justify-content:space-between}.business-brand,.header-actions{display:flex;gap:10px;align-items:center}.business-brand img{width:46px;height:46px;object-fit:contain}.business-brand div{display:grid}.business-brand span{color:var(--muted);font-size:.75rem}.operator{font-size:.85rem;font-weight:700}.shift-start-page{min-height:calc(100vh - 64px)}
.pos-layout{display:grid;height:calc(100vh - 64px);grid-template-columns:230px minmax(420px,1fr) 370px}.order-sidebar,.cart-panel{display:flex;min-height:0;padding:14px;background:#fff;flex-direction:column}.order-sidebar{border-right:1px solid var(--line)}.cart-panel{border-left:1px solid var(--line)}.shift-strip{margin:-2px 0 14px;padding:9px;border-radius:9px;background:var(--accent);color:var(--brand);font-size:.78rem;font-weight:800}.shift-strip small{float:right}.status-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#22a06b}.order-sidebar h2{margin:20px 0 9px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.order-list-heading{display:flex;align-items:center;justify-content:space-between}.order-list-heading span{margin-top:12px;padding:2px 7px;border-radius:10px;background:var(--accent);color:var(--brand);font-size:.7rem;font-weight:800}.compact-search{display:flex;min-height:38px;margin-bottom:9px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#f9fbfa;align-items:center;gap:7px}.compact-search input{width:100%;border:0;outline:0;background:transparent}.active-orders{display:grid;gap:7px;overflow:auto}.order-link{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none}.order-link.selected{border-color:var(--brand);background:var(--accent)}.order-link span{color:var(--muted);font-size:.72rem}.order-link b{font-size:.78rem}.sidebar-actions{display:grid;gap:8px;margin-top:auto;padding-top:12px}.menu-panel{min-width:0;overflow:auto;padding:14px}.product-search-bar{position:sticky;z-index:4;top:-14px;display:flex;margin:-14px -14px 10px;padding:14px;background:rgba(243,246,244,.96);backdrop-filter:blur(8px);align-items:center;gap:10px}.product-search{display:flex;min-height:50px;padding:0 13px;border:2px solid #cbd7d0;border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(22,41,32,.06);align-items:center;gap:10px;flex:1}.product-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(23,107,77,.12)}.product-search input{width:100%;border:0;outline:0;background:transparent;font-size:1rem}.product-search kbd{padding:3px 7px;border:1px solid var(--line);border-radius:6px;background:#f5f7f6;color:var(--muted);font-size:.68rem}.result-count{min-width:62px;color:var(--muted);font-size:.75rem;text-align:right}.category-tabs{display:flex;gap:8px;padding-bottom:12px;overflow:auto}.category-tab{min-height:42px;padding:8px 18px;border:1px solid var(--line);border-radius:22px;background:#fff;font-weight:700;white-space:nowrap}.category-tab.active{border-color:var(--brand);background:var(--brand);color:#fff}.favourite-tab{color:#8a5a00}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.menu-card>button{display:flex;width:100%;min-height:278px;padding:11px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;box-shadow:0 3px 12px rgba(25,33,29,.05);transition:border-color .15s,transform .15s,box-shadow .15s;flex-direction:column}.menu-card>button:hover,.menu-card>button:focus-visible{border-color:var(--brand);box-shadow:0 8px 22px rgba(22,41,32,.11);transform:translateY(-2px);outline:0}.menu-card-category{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.menu-card strong{margin:7px 0 3px;line-height:1.25}.menu-card-code{color:#839089;font-size:.66rem}.menu-card-price{margin-top:auto;color:var(--brand);font-size:1rem;font-weight:900}.menu-card small{margin-top:5px;color:var(--muted)}.product-empty{margin-top:30px}.workspace-empty{display:grid;height:100%;place-items:center;text-align:center;color:var(--muted)}.workspace-empty span{display:inline-grid;width:64px;height:64px;border-radius:50%;background:#e2e8e4;place-items:center;font-size:2rem}
.cart-heading{display:flex;align-items:center;justify-content:space-between}.cart-heading h2{margin:0}.order-type{padding:6px 9px;border-radius:20px;background:var(--accent);color:var(--brand);font-size:.7rem;font-weight:800}.cart-meta{margin:8px 0 12px;color:var(--muted);font-size:.78rem}.cart-items{display:grid;gap:8px;overflow:auto}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.cart-item div:first-child{display:grid}.cart-item small{color:var(--muted);font-size:.7rem}.cart-item>b{grid-column:2;text-align:right}.quantity-control{display:flex;gap:7px;align-items:center}.quantity-control button{width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:1.1rem}.quantity-control span{min-width:26px;text-align:center}.cart-empty{padding:30px;color:var(--muted);text-align:center}.cart-empty.large{margin:auto}.cart-totals{display:grid;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:6px}.grand-total{font-size:1.1rem;color:var(--brand)}.cart-actions{display:flex;gap:8px;margin-top:14px}.cart-actions form{flex:1}.cart-actions button{width:100%}
dialog{width:min(420px,calc(100% - 24px));padding:0;border:0;border-radius:18px;box-shadow:0 22px 80px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(16,25,21,.55)}.dialog-card{display:grid;gap:15px;padding:25px}.dialog-card h2{margin:0}.dialog-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:1.6rem}.dialog-card textarea{resize:vertical}
.item-options fieldset{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px}.item-options legend{padding:0 5px;font-size:.82rem;font-weight:800}.item-options legend small{color:var(--muted);font-weight:500}.item-options .choice{display:flex;gap:8px;align-items:center;font-weight:500}.item-options .choice input{width:18px;min-height:18px;margin:0}
@media(max-width:1100px){.pos-layout{grid-template-columns:200px 1fr 320px}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}@media(max-width:760px){.operator{display:none}.pos-header{height:58px;padding:6px 10px}.business-brand img,.brand-mark.small{width:38px;height:38px}.pos-layout{height:auto;min-height:calc(100vh - 58px);grid-template-columns:1fr}.order-sidebar{border-right:0;border-bottom:1px solid var(--line)}.active-orders{display:flex}.order-link{min-width:150px}.sidebar-actions{grid-template-columns:1fr 1fr}.menu-panel{min-height:360px}.product-search-bar{top:0;margin:-14px -14px 8px}.product-search kbd{display:none}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart-panel{border-top:1px solid var(--line);border-left:0}.cart-items{max-height:340px}}

.menu-card-image {
    width: 100%;
    height: 110px;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 10px;
    background: #eef2ef;
}

.menu-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.menu-image-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: linear-gradient(135deg, #e9f4ef, #dce9e2);
    color: #176b4d;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
}

.cart-panel {
    overflow-y: auto;
}

.send-kitchen-form {
    flex-shrink: 0;
    margin-top: 8px;
}

.button.kitchen {
    background: #d97706;
    color: #ffffff;
}

.button.kitchen:hover {
    background: #b45309;
}
.checkout-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.button.pay{background:#1d4ed8;color:#fff}.button.pay:hover{background:#1e40af}

.report-page { max-width: 1180px; margin: 0 auto; padding: 24px; }
.report-header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:18px; }
.report-header h1 { margin:0; }
.report-filter { display:flex; gap:10px; align-items:end; margin-bottom:18px; }
.report-filter label { display:grid; gap:5px; font-weight:700; }
.report-filter input { padding:10px; border:1px solid #cbd5e1; border-radius:8px; }
.report-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.report-card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px; margin-bottom:14px; box-shadow:0 2px 8px rgba(15,23,42,.04); }
.report-card span { display:block; color:#64748b; }
.report-card strong { display:block; font-size:1.55rem; margin-top:5px; }
.report-card h2 { margin-top:0; }
.report-rows { display:grid; grid-template-columns:1fr auto; gap:10px; }
.table-scroll { overflow-x:auto; }
.table-scroll table { width:100%; border-collapse:collapse; }
.table-scroll th,.table-scroll td { padding:10px; border-bottom:1px solid #e2e8f0; text-align:left; }
.approval-card { display:flex; justify-content:space-between; gap:20px; align-items:center; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px; margin-bottom:12px; }
.approval-card form { min-width:280px; }
.approval-card textarea { width:100%; box-sizing:border-box; padding:8px; margin-bottom:8px; }
@media (max-width:800px) { .report-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .approval-card { flex-direction:column; align-items:stretch; } }
@media (max-width:520px) { .report-page { padding:14px; } .report-grid { grid-template-columns:1fr; } .report-header { align-items:flex-start; } .report-filter { flex-wrap:wrap; } }

.pos-quick-links { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.header-link-group{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.setup-centre-page{padding-bottom:60px}.setup-readiness{display:flex;gap:20px;align-items:center;margin-bottom:18px;padding:22px;border:1px solid #f0c98a;border-radius:18px;background:#fffaf1;box-shadow:var(--shadow)}.setup-readiness.is-ready{border-color:#9ed0b7;background:#f2fbf6}.readiness-score{display:grid;width:104px;height:104px;flex:0 0 104px;border-radius:50%;background:var(--brand);color:#fff;place-items:center;align-content:center}.readiness-score strong{font-size:1.65rem;line-height:1}.readiness-score span{margin-top:5px;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.readiness-copy{flex:1}.readiness-copy h2{margin:0 0 6px}.readiness-copy p{margin:0 0 12px;color:var(--muted)}.progress-track{height:10px;overflow:hidden;border-radius:10px;background:#e3e9e5}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--brand)}.setup-notice{margin-bottom:16px;padding:13px 15px;border-radius:10px;background:#fff4d6;color:#704f00}.setup-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-check{display:flex;gap:14px;min-height:190px;padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px 12px rgba(25,33,29,.05)}.setup-check.attention{border-color:#edc27b}.check-icon{display:grid;width:38px;height:38px;flex:0 0 38px;border-radius:50%;place-items:center;background:#fff0d7;color:#9a5b00;font-weight:900}.setup-check.complete .check-icon{background:var(--accent);color:var(--brand)}.check-content{display:flex;min-width:0;flex:1;flex-direction:column}.check-heading{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.check-heading h2{margin:4px 0 11px;font-size:1rem}.check-heading span{padding:4px 7px;border-radius:12px;background:#fff0d7;color:#8a5200;font-size:.64rem;font-weight:800;white-space:nowrap}.setup-check.complete .check-heading span{background:var(--accent);color:var(--brand)}.check-content>strong{font-size:.86rem}.check-content p{margin:7px 0 12px;color:var(--muted);font-size:.79rem;line-height:1.45}.check-action{margin-top:auto;color:var(--brand);font-size:.8rem;font-weight:800;text-decoration:none}.scope-note{margin-top:18px}.scope-note p{line-height:1.55}.scope-note h2{font-size:1rem}@media(max-width:760px){.header-link-group{justify-content:flex-start}.setup-readiness{align-items:flex-start}.readiness-score{width:82px;height:82px;flex-basis:82px}.setup-check-grid{grid-template-columns:1fr}}@media(max-width:480px){.setup-readiness{flex-direction:column}.readiness-score{width:76px;height:76px;flex-basis:76px}.setup-check{min-height:0}}
.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.floor-table{padding:16px;border:2px solid var(--line);border-radius:14px;background:#fff}.floor-table.occupied{border-color:#e7b4ae}.floor-table.available{border-color:#b9d7c8}.floor-table>div{display:flex;justify-content:space-between;gap:8px}.floor-table span{color:var(--muted);font-size:.75rem}.floor-table p{font-size:.8rem;line-height:1.45}.floor-table select{width:100%;min-height:40px;margin:8px 0;padding:7px;border:1px solid var(--line);border-radius:8px}.merge-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.merge-form label{display:grid;gap:6px;font-weight:700;font-size:.8rem}.merge-form select{min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px}@media(max-width:700px){.merge-form{grid-template-columns:1fr}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Part 2: manager-friendly menu catalogue and editor. */
a.button{color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}a.button.primary,a.button.pay,a.button.kitchen{color:#fff}.catalogue-page{max-width:1320px}.catalogue-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.catalogue-stats a{display:flex;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;align-items:center;justify-content:space-between}.catalogue-stats span{color:var(--muted);font-size:.78rem}.catalogue-stats strong{color:var(--brand);font-size:1.4rem}.catalogue-categories{margin-bottom:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.section-heading h2{margin:0}.section-heading p{margin:4px 0 12px;color:var(--muted);font-size:.8rem}.category-manager-list{display:flex;gap:8px;overflow:auto}.category-manager-list>a{display:grid;min-width:150px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;grid-template-columns:12px 1fr;column-gap:8px}.category-manager-list i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--category-colour,var(--brand))}.category-manager-list span{font-weight:800}.category-manager-list small{grid-column:2;color:var(--muted)}.catalogue-filters{display:grid;margin-bottom:16px;grid-template-columns:minmax(260px,1fr) 190px 190px auto auto;gap:8px}.catalogue-filters select,.catalogue-search{min-height:44px;border:1px solid #cbd4cf;border-radius:10px;background:#fff}.catalogue-filters select{padding:8px}.catalogue-search{display:flex;padding:0 11px;align-items:center;gap:7px}.catalogue-search input{width:100%;border:0;outline:0}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.catalogue-item{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px 12px rgba(25,33,29,.05);grid-template-columns:112px 1fr}.catalogue-item.muted-item{opacity:.72}.catalogue-image{display:grid;min-height:210px;background:#e9f0ec;place-items:center;align-content:center}.catalogue-image img{width:100%;height:100%;object-fit:cover}.catalogue-image>span{color:var(--brand);font-size:2.2rem;font-weight:900}.catalogue-image>small{color:var(--muted)}.catalogue-item-body{display:flex;min-width:0;padding:14px;flex-direction:column}.catalogue-item-heading{display:flex;justify-content:space-between}.catalogue-item-heading small{color:var(--muted);font-size:.66rem;text-transform:uppercase}.catalogue-item-heading h2{margin:3px 0;font-size:1rem}.catalogue-item-heading b{color:#b77900}.catalogue-codes{margin:2px 0;color:var(--muted);font-size:.7rem}.catalogue-price{margin-top:5px;color:var(--brand)}.catalogue-route{margin:7px 0;font-size:.72rem}.catalogue-route em{color:#a55c00}.catalogue-badges{display:flex;gap:5px;flex-wrap:wrap}.catalogue-badges span{padding:3px 6px;border-radius:9px;background:#fff0d7;color:#8a5200;font-size:.62rem;font-weight:800}.catalogue-badges span.ok{background:var(--accent);color:var(--brand)}.catalogue-actions{display:flex;gap:5px;margin-top:auto;padding-top:10px}.catalogue-actions .button{min-height:34px;padding:5px 8px;font-size:.72rem}.catalogue-empty{grid-column:1/-1}.catalogue-editor-page{width:min(980px,100%);margin:0 auto;padding:24px}.editor-header{display:flex;margin-bottom:18px;align-items:center;justify-content:space-between;gap:18px}.editor-header h1{margin:3px 0}.catalogue-editor{display:grid;gap:14px}.catalogue-editor.compact-editor{max-width:600px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.catalogue-editor.compact-editor>label{display:grid;gap:6px;font-weight:700}.editor-section{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.editor-section-title{display:flex;margin-bottom:16px;gap:11px}.editor-section-title>span{display:grid;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--brand);color:#fff;place-items:center;font-weight:900}.editor-section-title h2{margin:1px 0;font-size:1rem}.editor-section-title p{margin:3px 0;color:var(--muted);font-size:.75rem}.editor-fields{display:grid;gap:14px}.editor-fields.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-fields label{display:grid;gap:6px;font-size:.8rem;font-weight:800}.editor-fields input:not([type=checkbox]),.editor-fields select,.editor-fields textarea,.compact-editor input:not([type=checkbox]){width:100%;min-height:43px;padding:8px 10px;border:1px solid #cbd4cf;border-radius:9px;background:#fff}.editor-fields textarea{resize:vertical}.editor-fields label small,.compact-editor label small{color:var(--muted);font-weight:500;line-height:1.35}.editor-fields .checkbox-field{display:flex;min-height:43px;padding:10px;border:1px solid var(--line);border-radius:9px;align-items:center;gap:8px;flex-wrap:wrap}.editor-fields .checkbox-field input{width:18px;height:18px}.field-description,.field-external_image_url{grid-column:1/-1}.current-menu-image{display:flex;margin-bottom:14px;align-items:end;gap:10px}.current-menu-image img{width:180px;height:120px;border-radius:12px;object-fit:cover}.current-menu-image span{color:var(--muted);font-size:.75rem}.branch-selling{border-color:#a9d2bd;background:#f8fcfa}.editor-actions{display:flex;gap:8px;justify-content:flex-end}.sticky-actions{position:sticky;z-index:5;bottom:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.95);box-shadow:0 -5px 20px rgba(22,41,32,.07);backdrop-filter:blur(8px)}@media(max-width:900px){.catalogue-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-filters{grid-template-columns:1fr 1fr}.catalogue-search{grid-column:1/-1}}@media(max-width:600px){.catalogue-editor-page{padding:14px}.editor-header{align-items:flex-start;flex-direction:column}.editor-fields.two-columns{grid-template-columns:1fr}.field-description,.field-external_image_url{grid-column:auto}.catalogue-item{grid-template-columns:95px 1fr}.catalogue-image{min-height:190px}.catalogue-filters{grid-template-columns:1fr}.catalogue-search{grid-column:auto}.catalogue-stats{grid-template-columns:1fr 1fr}}

/* Part 2B: variants, modifiers and bulk catalogue tools. */
.inline-form-list{display:grid;gap:10px}.inline-form-row{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;grid-template-columns:1.3fr 1fr 1fr .7fr .7fr .7fr;gap:9px;align-items:end}.inline-form-row.option-row{grid-template-columns:1.4fr 1fr 1fr .7fr .7fr .7fr}.inline-form-row label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.inline-form-row input:not([type=checkbox]),.inline-form-row select{width:100%;min-height:40px;padding:7px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.inline-form-row .checkbox-field{display:flex;min-height:40px;align-items:center;gap:6px}.choice-card-list>div>ul,.choice-card-list>ul{display:grid;margin:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none}.choice-card-list li label{display:flex;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcfb;align-items:center;gap:9px;font-weight:700}.choice-card-list input{width:18px;height:18px}.management-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card-heading{display:flex;justify-content:space-between;gap:10px}.card-heading h2{margin:0}.option-chip-list{display:flex;gap:7px;flex-wrap:wrap}.option-chip-list span{padding:6px 9px;border-radius:14px;background:var(--accent);color:var(--brand);font-size:.72rem;font-weight:700}.option-chip-list em{color:var(--muted)}.import-errors{margin-bottom:14px;padding:16px;border:1px solid #efb5b0;border-radius:13px;background:#fff5f4;color:var(--danger)}.import-errors ul{max-height:240px;overflow:auto}.import-guide{margin-bottom:14px}.import-guide h2{margin-top:0}.product-assignment-list label{justify-content:flex-start}@media(max-width:900px){.inline-form-row,.inline-form-row.option-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.management-card-grid,.choice-card-list>div>ul,.choice-card-list>ul{grid-template-columns:1fr}.inline-form-row,.inline-form-row.option-row{grid-template-columns:1fr 1fr}}

/* Part 3: cashier shift control and reconciliation. */
.shift-strip-link{display:flex;color:var(--brand);text-decoration:none;align-items:center;justify-content:space-between}.shift-status-banner{display:grid;margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;grid-template-columns:repeat(3,1fr);gap:14px}.shift-status-banner.is-open{border-color:#9ed0b7;background:#f2fbf6}.shift-status-banner div{display:grid;gap:4px}.shift-status-banner span,.reconciliation-panel span{color:var(--muted);font-size:.75rem}.shift-status-banner strong{font-size:1rem}.shift-metrics .report-card{margin-bottom:0}.reconciliation-panel{display:grid;margin-bottom:14px;padding:18px;border-radius:15px;background:#17251f;color:#fff;grid-template-columns:repeat(3,1fr);gap:16px}.reconciliation-panel div{display:grid;gap:5px}.reconciliation-panel strong{font-size:1.2rem}.reconciliation-panel .negative strong{color:#ffb4ac}.reconciliation-panel .positive strong{color:#8ce1b4}.blind-count-note{margin-bottom:14px;padding:15px;border:1px solid #f0c98a;border-radius:12px;background:#fffaf1;color:#704f00}.shift-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.status-pill{display:inline-flex;padding:4px 8px;border-radius:12px;background:#e8ecea;font-size:.7rem;font-weight:800}.status-pill.open{background:var(--accent);color:var(--brand)}.print-actions{display:flex;justify-content:flex-end}.shift-filters{grid-template-columns:1fr 180px auto auto}@media(max-width:760px){.shift-status-banner,.reconciliation-panel{grid-template-columns:1fr}.shift-detail-grid{grid-template-columns:1fr}.shift-filters{grid-template-columns:1fr}}@media print{.pos-header,.header-link-group,.print-actions{display:none!important}.report-page{max-width:none;padding:0}.report-card,.shift-status-banner,.reconciliation-panel{box-shadow:none;break-inside:avoid}}

/* Part 4: touchscreen ordering and checkout. */
.order-status-stack{display:grid;gap:5px;justify-items:end}.order-state{padding:3px 7px;border-radius:10px;background:#edf1ef;color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.order-state.state-sent{background:#fff0d7;color:#8a5200}.quantity-entry>span{display:grid;grid-template-columns:44px 1fr 44px;gap:6px}.quantity-entry button{border:1px solid var(--line);border-radius:8px;background:#fff;font-size:1.25rem;font-weight:800}.quantity-entry input{text-align:center}.pending-kitchen,.sent-kitchen{width:max-content;margin-top:5px;padding:3px 6px;border-radius:8px;background:#fff0d7;color:#8a5200;font-size:.6rem;font-weight:800}.sent-kitchen{background:var(--accent);color:var(--brand)}.kitchen-note{color:#9a5b00!important;font-style:italic}.payment-quick-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.payment-quick-amounts button{min-width:0;min-height:40px;padding:7px 5px;border:1px solid var(--line);border-radius:9px;background:#f7faf8;font-size:.72rem;font-weight:800;white-space:normal}.payment-quick-amounts button:hover{border-color:var(--brand);color:var(--brand)}.change-preview{display:flex;padding:12px;border-radius:10px;background:var(--accent);color:var(--brand);align-items:center;justify-content:space-between;gap:10px}.change-preview strong{min-width:0;font-size:1.15rem;text-align:right;overflow-wrap:anywhere}.cart-item>div:first-child{gap:2px}@media(max-width:520px){.payment-quick-amounts{grid-template-columns:1fr 1fr}}

/* Part 7: payments, receipts, drawer and hardware queue. */
#payment-dialog{width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto}.payment-form{width:100%;min-width:0}.payment-form>*{min-width:0}.payment-balance{display:grid;margin-bottom:12px;padding:16px;border-radius:13px;background:#17251f;color:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px}.payment-balance span{font-size:.75rem}.payment-balance strong{min-width:0;font-size:1.55rem;text-align:right;overflow-wrap:anywhere}.payment-balance small{grid-column:1/-1;margin-top:5px;color:#c7d4ce}.payment-history{display:grid;margin-bottom:12px;padding:11px;border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:7px;font-size:.78rem}.payment-field{display:grid;min-width:0;gap:5px;font-size:.78rem;font-weight:800}.payment-field input,.payment-field select{width:100%;min-width:0;max-width:100%;min-height:46px;padding:9px 11px;border:1px solid #cbd4cf;border-radius:10px;background:#fff;font:inherit}.payment-field small{color:var(--muted);font-weight:600}.payment-guidance{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}.payment-form button[disabled]{opacity:.65;cursor:wait}.receipt-screen{max-width:1120px;margin:0 auto;padding:24px}.receipt-screen-header{display:flex;margin-bottom:18px;align-items:center;justify-content:space-between}.receipt-screen-header h1{margin:2px 0}.receipt-screen-header p{margin:3px 0;color:var(--muted)}.receipt-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}.thermal-receipt{width:80mm;box-sizing:border-box;padding:5mm;margin:0 auto;background:#fff;color:#000;font:12px/1.35 monospace;box-shadow:0 10px 30px rgba(15,23,42,.12)}.thermal-receipt h1,.thermal-receipt p{text-align:center;margin:3px 0}.receipt-logo{display:block;max-width:38mm;max-height:20mm;margin:0 auto 5px}.receipt-rule{margin:7px 0;border-top:1px dashed #000}.receipt-row{display:flex;margin:3px 0;justify-content:space-between;gap:8px}.receipt-item{margin:6px 0}.receipt-item small{display:block;margin-left:12px}.receipt-total{font-size:15px;font-weight:900}.receipt-reference{overflow-wrap:anywhere;font-size:10px}.receipt-controls{display:grid;gap:13px}.sale-success-card{display:flex;padding:18px;border:1px solid #9ed0b7;border-radius:15px;background:#f2fbf6;align-items:center;gap:13px}.sale-success-card>span{display:grid;width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;place-items:center;font-size:1.2rem;font-weight:900}.sale-success-card h2,.sale-success-card p{margin:2px 0}.sale-success-card p{color:var(--muted)}.hardware-status-card,.receipt-payments{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.hardware-status-card h2,.receipt-payments h2{margin:3px 0}.hardware-status-card dl,.hardware-job dl{display:grid;margin:12px 0 0;grid-template-columns:85px 1fr;gap:6px;font-size:.78rem}.hardware-status-card dt,.hardware-job dt{color:var(--muted)}.hardware-status-card dd,.hardware-job dd{margin:0;font-weight:700}.job-status{display:inline-flex;height:max-content;padding:5px 9px;border-radius:14px;background:#edf1ef;color:#52615a;font-size:.66rem;font-weight:900;text-transform:uppercase}.status-printed{background:#dff5e9;color:#176b43}.status-failed{background:#ffe4e1;color:#a42b21}.status-pending,.status-processing{background:#fff0d7;color:#875500}.status-cancelled{background:#eceff1;color:#586168}.hardware-error{padding:10px;border-radius:9px;background:#fff0ef;color:#a42b21;font-size:.72rem;overflow-wrap:anywhere}.receipt-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.receipt-action-grid form,.receipt-action-grid button{width:100%}.receipt-reprint-count{margin:0;color:var(--muted);font-size:.72rem}.receipt-payments>div{display:grid;padding:9px 0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;gap:10px;align-items:center}.receipt-payments>div:last-child{border:0}.receipt-payments span small{display:block;color:var(--muted)}.receipt-payments em{color:var(--muted);font-size:.7rem}.link-danger{border:0;background:none;color:var(--danger);cursor:pointer;font-weight:800}.control-note{padding:11px;border:1px solid #f0c98a;border-radius:10px;background:#fffaf1;color:#704f00;font-size:.74rem;line-height:1.45}.hardware-agent-strip{display:grid;margin-bottom:14px;gap:8px}.agent-card{display:flex;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;gap:10px}.agent-card i{width:10px;height:10px;border-radius:50%;background:#a0aaa5}.agent-card.online i{background:#22a06b;box-shadow:0 0 0 4px #daf3e6}.agent-card span{display:grid;flex:1}.agent-card small{color:var(--muted)}.agent-card b{color:var(--muted);font-size:.7rem}.hardware-stats{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.hardware-stats a{display:flex;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-decoration:none;align-items:center;justify-content:space-between}.hardware-stats span{color:var(--muted);font-size:.75rem}.hardware-stats strong{font-size:1.35rem}.hardware-stats .failed{border-color:#efb5b0}.hardware-filter{grid-template-columns:180px 220px auto auto}.hardware-filter select{min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.hardware-job-list{display:grid;gap:10px}.hardware-job{display:flex;overflow:hidden;border:1px solid var(--line);border-left:5px solid #9aa6a0;border-radius:13px;background:#fff}.status-border-failed{border-left-color:#d64535}.status-border-pending,.status-processing{border-left-color:#e49b22}.status-border-printed{border-left-color:#22a06b}.hardware-job-main{min-width:0;flex:1;padding:15px}.hardware-job h2{margin:3px 0}.job-type{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.hardware-job-actions{display:flex;min-width:220px;padding:15px;border-left:1px solid var(--line);background:#fafcfb;flex-direction:column;justify-content:center;gap:8px}.hardware-job-actions button{width:100%}@media(max-width:760px){.receipt-layout{grid-template-columns:1fr}.receipt-screen{padding:14px}.hardware-stats{grid-template-columns:1fr 1fr}.hardware-filter{grid-template-columns:1fr 1fr}.hardware-job{flex-direction:column}.hardware-job-actions{min-width:0;border-top:1px solid var(--line);border-left:0}.receipt-action-grid{grid-template-columns:1fr}}@media(max-width:520px){#payment-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#payment-dialog .dialog-card{padding:20px 16px}.payment-balance strong{font-size:1.25rem}}@media print{.no-print{display:none!important}.receipt-screen{max-width:none;padding:0}.receipt-layout{display:block}.thermal-receipt{width:72mm;padding:2mm;box-shadow:none}.thermal-receipt h1{font-size:16px}}

/* Part 8: management controls, history and audit. */
.history-filters{display:grid;margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(120px,.7fr));gap:9px;align-items:end}.history-filters label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.history-filters input,.history-filters select{width:100%;min-height:42px;padding:8px;border:1px solid #cbd4cf;border-radius:9px;background:#fff}.filter-actions{display:flex;grid-column:1/-1;gap:8px;justify-content:flex-end}.export-row{display:flex;margin-bottom:12px;align-items:center;justify-content:space-between;color:var(--muted);font-size:.78rem}.history-stats{display:grid;margin-bottom:14px;grid-template-columns:repeat(6,1fr);gap:9px}.history-stats article,.order-overview article,.approval-stats a{display:grid;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.history-stats span,.order-overview span,.approval-stats span{color:var(--muted);font-size:.68rem}.history-stats strong,.order-overview strong,.approval-stats strong{margin-top:4px;color:var(--brand);font-size:1.1rem}.history-table-card{padding:0;overflow:hidden}.history-table th{background:#f5f8f6;font-size:.68rem;text-transform:uppercase}.history-table td{font-size:.76rem}.history-table td>strong,.history-table td>small{display:block}.history-table td>small{margin-top:3px;color:var(--muted)}.table-link{color:var(--brand);font-weight:900;text-decoration:none}.pagination{display:flex;padding:13px;align-items:center;justify-content:center;gap:18px}.pagination a{color:var(--brand);font-weight:800}.order-overview{display:grid;margin-bottom:14px;grid-template-columns:repeat(6,1fr);gap:9px}.order-detail-grid,.management-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-item-list>div,.detail-records>div,.recent-order-list>a{display:flex;padding:10px 0;border-bottom:1px solid var(--line);align-items:flex-start;justify-content:space-between;gap:12px}.detail-item-list span,.detail-records span,.recent-order-list span{display:grid}.detail-item-list small,.detail-item-list em,.detail-records small,.recent-order-list small{margin-top:3px;color:var(--muted);font-size:.68rem}.detail-records b{display:grid;text-align:right}.detail-totals{display:grid;margin-top:12px;padding-top:12px;border-top:2px solid var(--line);grid-template-columns:1fr auto;gap:7px}.total-label{font-size:1.05rem;font-weight:900}.negative-text{color:var(--danger)!important;max-width:300px;overflow-wrap:anywhere}.audit-timeline{display:grid;gap:0}.audit-timeline article{display:grid;padding:10px 0;border-bottom:1px solid var(--line);grid-template-columns:115px 1fr;gap:12px}.audit-timeline time{color:var(--muted);font-size:.7rem}.audit-timeline p{margin:3px 0}.audit-timeline small{color:var(--muted)}.audit-filters{grid-template-columns:minmax(240px,1fr) 150px 150px minmax(190px,.8fr)}.audit-list{display:grid;gap:9px}.audit-entry{display:grid;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff;grid-template-columns:105px 1fr;gap:14px}.audit-entry time{display:grid;color:var(--muted);font-size:.68rem}.audit-entry time strong{margin-top:3px;color:var(--ink);font-size:.82rem}.audit-entry h2{margin:5px 0;font-size:.9rem}.audit-entry p{margin:3px 0;color:var(--muted);font-size:.72rem}.audit-event{padding:4px 7px;border-radius:9px;background:var(--accent);color:var(--brand);font-size:.62rem;font-weight:900}.audit-entry details{margin-top:8px}.audit-entry summary{color:var(--brand);cursor:pointer;font-size:.7rem;font-weight:800}.audit-entry details>div{margin-top:7px}.audit-entry pre{max-height:160px;margin:4px 0;padding:8px;overflow:auto;border-radius:7px;background:#f5f7f6;font-size:.66rem;white-space:pre-wrap}.management-alert-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.management-alert-grid a{display:grid;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}.management-alert-grid a.attention{border-color:#efb5b0;background:#fff7f6}.management-alert-grid span{color:var(--muted);font-size:.72rem}.management-alert-grid strong{margin:4px 0;color:var(--brand);font-size:1.55rem}.management-alert-grid small{color:var(--muted);font-size:.65rem}.section-title-row{display:flex;align-items:center;justify-content:space-between}.section-title-row h2{margin:0}.section-title-row a,.inline-report-link{color:var(--brand);font-size:.72rem;font-weight:800}.recent-order-list>a{color:inherit;text-decoration:none}.recent-order-list b{display:grid;text-align:right}.recent-order-list b small{width:max-content;margin-left:auto;padding:3px 6px;border-radius:8px;background:#eef2f0}.approval-stats{display:grid;margin-bottom:14px;grid-template-columns:repeat(3,1fr);gap:10px}.approval-stats a{color:inherit;text-decoration:none}.approval-filters{grid-template-columns:200px 240px auto auto}.enhanced-approval .approval-heading{display:flex;gap:9px;align-items:center}.enhanced-approval>div>a,.enhanced-approval p a{color:var(--brand);font-weight:800}.state-completed,.state-approved{background:#dff5e9!important;color:#176b43!important}.state-cancelled,.state-rejected,.state-voided{background:#ffe4e1!important;color:#a42b21!important}.state-sent,.state-pending{background:#fff0d7!important;color:#875500!important}@media(max-width:1050px){.history-filters{grid-template-columns:repeat(3,1fr)}.wide-filter{grid-column:1/-1}.history-stats{grid-template-columns:repeat(3,1fr)}.order-overview{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.history-filters,.audit-filters{grid-template-columns:1fr 1fr}.wide-filter{grid-column:1/-1}.history-stats,.management-alert-grid{grid-template-columns:1fr 1fr}.order-detail-grid,.management-two-column{grid-template-columns:1fr}.order-overview{grid-template-columns:1fr 1fr}.audit-entry{grid-template-columns:1fr}.approval-filters{grid-template-columns:1fr 1fr}.export-row{align-items:flex-start;flex-direction:column;gap:8px}}@media(max-width:480px){.history-filters,.audit-filters,.history-stats,.management-alert-grid,.order-overview,.approval-stats,.approval-filters{grid-template-columns:1fr}.wide-filter{grid-column:auto}}

/* Part 9: purchasing and inventory foundation. */
.inventory-page{max-width:1380px}.inventory-starter{display:flex;margin-bottom:14px;padding:15px 17px;border:1px solid #f0c98a;border-radius:14px;background:#fffaf1;align-items:center;justify-content:space-between;gap:14px}.inventory-starter p{margin:4px 0 0;color:#704f00;font-size:.75rem}.inventory-stat-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.inventory-stat-grid>a,.inventory-stat-grid>article{display:grid;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}.inventory-stat-grid .attention{border-color:#efb5b0;background:#fff7f6}.inventory-stat-grid span{color:var(--muted);font-size:.7rem}.inventory-stat-grid strong{margin:4px 0;color:var(--brand);font-size:1.35rem}.inventory-stat-grid small{color:var(--muted);font-size:.64rem}.inventory-action-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.inventory-action-grid>a{display:flex;padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fbf9;color:inherit;text-decoration:none;gap:9px;align-items:flex-start}.inventory-action-grid>b{display:grid}.inventory-action-grid a>b{display:grid;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:var(--brand);color:#fff;place-items:center;font-size:.72rem}.inventory-action-grid span{display:grid}.inventory-action-grid small{margin-top:3px;color:var(--muted);font-size:.63rem;line-height:1.35}.inventory-list>a,.inventory-list>div{display:flex;padding:10px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;align-items:flex-start;justify-content:space-between;gap:12px}.inventory-list span{display:grid}.inventory-list small{margin-top:3px;color:var(--muted);font-size:.67rem}.inventory-list b{text-align:right;white-space:nowrap}.inventory-search{display:grid;margin-bottom:14px;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px}.inventory-search input{min-height:44px;padding:9px 12px;border:1px solid #cbd4cf;border-radius:10px}.inventory-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-card-grid.compact-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-master-card{display:flex;min-height:225px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(25,33,29,.05);flex-direction:column}.inventory-master-card.inactive{opacity:.62}.inventory-master-card>div>span{color:var(--muted);font-size:.66rem;text-transform:uppercase}.inventory-master-card h2{margin:5px 0;font-size:1rem}.inventory-master-card h2 small{color:var(--brand)}.inventory-master-card p{margin:4px 0;color:var(--muted);font-size:.73rem}.inventory-master-card dl{display:grid;margin:13px 0;grid-template-columns:auto 1fr;gap:6px 10px;font-size:.7rem}.inventory-master-card dt{color:var(--muted)}.inventory-master-card dd{margin:0;overflow-wrap:anywhere}.inventory-master-card>.button{margin-top:auto}.inventory-editor-page .field-address,.inventory-editor-page .field-notes,.inventory-editor-page .field-note{grid-column:1/-1}.inventory-warning{border-color:#f0c98a;background:#fffaf1}.inventory-warning p{margin-bottom:0;color:#704f00}.inventory-ledger-filters{grid-template-columns:minmax(250px,1.4fr) 145px 145px 190px 190px}.form-errors,.errorlist{color:var(--danger)}.errorlist{margin:4px 0 0;padding-left:18px;font-size:.7rem}.inventory-alert-grid{grid-template-columns:repeat(5,1fr)}@media(max-width:1100px){.inventory-stat-grid,.inventory-action-grid{grid-template-columns:repeat(3,1fr)}.inventory-card-grid,.inventory-card-grid.compact-cards{grid-template-columns:repeat(2,1fr)}.inventory-ledger-filters{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.inventory-starter{align-items:flex-start;flex-direction:column}.inventory-stat-grid,.inventory-action-grid,.inventory-card-grid,.inventory-card-grid.compact-cards{grid-template-columns:1fr 1fr}.inventory-ledger-filters{grid-template-columns:1fr 1fr}.inventory-ledger-filters .wide-filter{grid-column:1/-1}.inventory-alert-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.inventory-stat-grid,.inventory-action-grid,.inventory-card-grid,.inventory-card-grid.compact-cards,.inventory-ledger-filters,.inventory-alert-grid{grid-template-columns:1fr}.inventory-ledger-filters .wide-filter{grid-column:auto}.inventory-search{grid-template-columns:1fr}.inventory-master-card{min-height:0}.inventory-editor-page .field-address,.inventory-editor-page .field-notes,.inventory-editor-page .field-note{grid-column:auto}}

/* Part 10: purchase orders, goods receipts and purchase returns. */
.inventory-alert-grid{grid-template-columns:repeat(6,1fr)}
.purchasing-stats{grid-template-columns:repeat(4,1fr)}.purchasing-stats article.attention{border-color:#efb5b0;background:#fff7f6}.purchasing-filters{grid-template-columns:minmax(280px,1fr) 220px auto}.purchase-editor-page{width:min(1180px,100%)}.purchase-line-list{display:grid;gap:10px}.purchase-line-row{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;grid-template-columns:1.7fr .8fr .9fr 1.2fr auto;gap:9px;align-items:end}.purchase-line-row label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.purchase-line-row input:not([type=checkbox]),.purchase-line-row select{width:100%;min-height:40px;padding:7px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.purchase-line-row .checkbox-field{display:flex;min-height:40px;align-items:center;gap:6px}.purchase-overview{grid-template-columns:repeat(5,1fr)}.purchase-totals{display:grid;margin:16px;padding-top:12px;border-top:2px solid var(--line);grid-template-columns:1fr auto;gap:8px;text-align:right}.purchase-totals strong{font-size:1.05rem}.danger-action{display:flex;justify-content:flex-end}.inventory-list b small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem}.state-submitted,.state-part_received{background:#fff0d7!important;color:#875500!important}.state-received{background:#dff5e9!important;color:#176b43!important}.state-draft{background:#eef2f0!important;color:#52615a!important}@media(max-width:900px){.purchase-line-row{grid-template-columns:1fr 1fr}.purchase-line-row label:first-of-type,.purchase-line-row label:nth-of-type(4){grid-column:1/-1}.purchasing-stats,.purchase-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.purchasing-filters,.purchasing-stats,.purchase-overview,.purchase-line-row{grid-template-columns:1fr}.purchase-line-row label:first-of-type,.purchase-line-row label:nth-of-type(4){grid-column:auto}}

/* Part 11: recipes, costing and automatic sales consumption. */
.inventory-alert-grid{grid-template-columns:repeat(7,1fr)}
.recipe-alert-grid{display:grid;margin-bottom:14px;grid-template-columns:1fr 1fr;gap:10px}.recipe-alert-grid a{display:grid;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}.recipe-alert-grid a.attention{border-color:#efb5b0;background:#fff7f6}.recipe-alert-grid span{color:var(--muted);font-size:.7rem}.recipe-alert-grid strong{margin:4px 0;color:var(--brand);font-size:1.4rem}.recipe-alert-grid small{color:var(--muted);font-size:.66rem}.missing-recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.missing-recipe-grid>div{display:grid;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafcfb}.missing-recipe-grid small{margin-top:3px;color:var(--muted);font-size:.66rem}.recipe-component-list{display:grid;gap:9px}.recipe-component-row{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;grid-template-columns:1.6fr .8fr .7fr auto;gap:9px;align-items:end}.recipe-component-row label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.recipe-component-row input:not([type=checkbox]),.recipe-component-row select{width:100%;min-height:40px;padding:7px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.recipe-component-row .checkbox-field{display:flex;min-height:40px;align-items:center;gap:6px}.consumption-error{margin-bottom:14px;padding:16px;border:1px solid #efb5b0;border-radius:14px;background:#fff7f6;color:#8d2d24}.consumption-error p{margin:5px 0 0}.state-posted{background:#dff5e9!important;color:#176b43!important}.state-failed{background:#ffe4e1!important;color:#a42b21!important}.state-reversed{background:#eef2f0!important;color:#52615a!important}@media(max-width:800px){.missing-recipe-grid{grid-template-columns:1fr 1fr}.recipe-component-row{grid-template-columns:1fr 1fr}.recipe-component-row label:first-of-type{grid-column:1/-1}}@media(max-width:520px){.recipe-alert-grid,.missing-recipe-grid,.recipe-component-row{grid-template-columns:1fr}.recipe-component-row label:first-of-type{grid-column:auto}}

/* Part 12: stock transfers, physical counts and inventory control. */
.inventory-alert-grid{grid-template-columns:repeat(8,1fr)}.inventory-stat-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}.control-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.transfer-line-list{display:grid;gap:9px}.transfer-line-row{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;grid-template-columns:1.7fr .8fr auto;gap:9px;align-items:end}.transfer-line-row label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.transfer-line-row input:not([type=checkbox]),.transfer-line-row select{width:100%;min-height:40px;padding:7px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.transfer-line-row .checkbox-field{display:flex;min-height:40px;align-items:center;gap:6px}.transfer-overview{grid-template-columns:repeat(5,1fr)}.count-overview{grid-template-columns:repeat(4,1fr)}.inventory-control-note{margin-top:14px}.inventory-control-note h2{margin-top:0}.inventory-control-note p{margin-bottom:0;color:var(--muted)}.stock-count-entry{padding:0;overflow:hidden}.stock-count-help{display:flex;padding:14px 16px;border-bottom:1px solid var(--line);background:#fffaf1;align-items:center;justify-content:space-between;gap:12px}.stock-count-help span{color:var(--muted);font-size:.7rem}.stock-count-entry input{width:150px;min-height:39px;padding:7px 9px;border:1px solid #cbd4cf;border-radius:8px;text-align:right}.stock-count-entry .editor-actions{padding:14px 16px;border-top:1px solid var(--line);justify-content:flex-end}.state-cancelled{background:#ffe4e1!important;color:#a42b21!important}@media(max-width:1100px){.inventory-stat-grid-six{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.control-stat-grid,.transfer-overview,.count-overview{grid-template-columns:repeat(2,1fr)}.transfer-line-row{grid-template-columns:1fr 1fr}.transfer-line-row label:first-of-type{grid-column:1/-1}.stock-count-help{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.inventory-stat-grid-six,.control-stat-grid,.transfer-overview,.count-overview,.transfer-line-row{grid-template-columns:1fr}.transfer-line-row label:first-of-type{grid-column:auto}.stock-count-entry input{width:120px}}

/* Part 13: requisitions, reorder planning, wastage and supplier balances. */
.inventory-alert-grid{grid-template-columns:repeat(9,1fr)}.purchasing-stats-six{grid-template-columns:repeat(6,1fr)}.control-stat-grid-five{grid-template-columns:repeat(5,1fr)}.requisition-line-row,.wastage-line-row{display:grid;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;grid-template-columns:1.5fr .75fr 1.2fr auto;gap:9px;align-items:end}.requisition-line-row label,.wastage-line-row label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.requisition-line-row input:not([type=checkbox]),.requisition-line-row select,.wastage-line-row input:not([type=checkbox]),.wastage-line-row select{width:100%;min-height:40px;padding:7px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.requisition-line-row .checkbox-field,.wastage-line-row .checkbox-field{display:flex;min-height:40px;align-items:center;gap:6px}.requisition-overview{grid-template-columns:repeat(5,1fr)}.wastage-overview{grid-template-columns:repeat(4,1fr)}.requisition-decision{display:grid;grid-template-columns:1fr 1fr;gap:14px}.requisition-decision h2{grid-column:1/-1;margin:0}.requisition-decision form{display:grid;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafcfb;gap:9px}.requisition-decision label{display:grid;gap:5px;font-size:.72rem;font-weight:800}.requisition-decision textarea{padding:8px;border:1px solid #cbd4cf;border-radius:8px}.reorder-form{display:grid;gap:14px}.reorder-table input[type=number]{width:125px;padding:7px;border:1px solid #cbd4cf;border-radius:8px}.reorder-table input[type=checkbox]{width:20px;height:20px}.supplier-balance-note>strong{color:var(--brand);font-size:1.35rem;white-space:nowrap}.supplier-overview{grid-template-columns:repeat(3,1fr)}.state-approved,.state-converted{background:#dff5e9!important;color:#176b43!important}.state-rejected{background:#ffe4e1!important;color:#a42b21!important}@media(max-width:1100px){.purchasing-stats-six,.control-stat-grid-five{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.requisition-line-row,.wastage-line-row{grid-template-columns:1fr 1fr}.requisition-line-row label:first-of-type,.wastage-line-row label:first-of-type{grid-column:1/-1}.requisition-overview,.wastage-overview,.supplier-overview{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.purchasing-stats-six,.control-stat-grid-five,.requisition-line-row,.wastage-line-row,.requisition-overview,.wastage-overview,.supplier-overview,.requisition-decision{grid-template-columns:1fr}.requisition-line-row label:first-of-type,.wastage-line-row label:first-of-type,.requisition-decision h2{grid-column:auto}}

/* Part 14: Phase 2 operational and costing reports. */
.inventory-reports-page{max-width:1480px}.report-date-filter{display:grid;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;grid-template-columns:180px 180px auto;gap:9px;align-items:end}.report-date-filter label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.report-date-filter input,.report-date-filter select{min-height:40px;padding:7px 9px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.report-date-filter .button{justify-self:start}.valuation-filter{grid-template-columns:260px auto}.inventory-report-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.inventory-report-grid>a{display:grid;min-height:130px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(25,33,29,.05)}.inventory-report-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.inventory-report-grid strong{margin:8px 0;color:var(--brand);font-size:1.35rem}.inventory-report-grid small{margin-top:auto;color:var(--muted);font-size:.65rem;line-height:1.4}.report-metric-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.report-metric-grid article{display:grid;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.report-metric-grid article.attention{border-color:#efb5b0;background:#fff7f6}.report-metric-grid span{color:var(--muted);font-size:.7rem}.report-metric-grid strong{margin:5px 0;color:var(--brand);font-size:1.3rem}.report-metric-grid small{color:var(--muted);font-size:.64rem}.report-coverage-warning,.report-definition-note{margin-bottom:14px;padding:14px 16px;border:1px solid #f0c98a;border-radius:13px;background:#fffaf1;color:#704f00}.report-coverage-warning p,.report-definition-note p{margin:5px 0 0;font-size:.75rem;line-height:1.45}.report-definition-note{margin-top:14px;border-color:#b8d8ca;background:#f2faf6;color:#285947}@media(max-width:1050px){.inventory-report-grid,.report-metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.report-date-filter,.valuation-filter{grid-template-columns:1fr 1fr}.report-date-filter .button{grid-column:1/-1}.inventory-report-grid,.report-metric-grid{grid-template-columns:1fr}}@media(max-width:420px){.report-date-filter,.valuation-filter{grid-template-columns:1fr}.report-date-filter .button{grid-column:auto}}

/* Part 5: restaurant floor and waiter workflow. */
.floor-page{max-width:1400px}.floor-stats{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.floor-stats>div{display:flex;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;align-items:center;justify-content:space-between}.floor-stats span{color:var(--muted);font-size:.75rem}.floor-stats strong{color:var(--brand);font-size:1.4rem}.floor-area-tabs{display:flex;margin-bottom:16px;gap:8px;overflow:auto}.floor-area-tabs button{min-height:42px;padding:8px 16px;border:1px solid var(--line);border-radius:22px;background:#fff;font-weight:800;white-space:nowrap}.floor-area-tabs button.active{border-color:var(--brand);background:var(--brand);color:#fff}.floor-area{margin-bottom:18px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff}.floor-area-heading h2{margin:0}.floor-area-heading p{margin:3px 0 13px;color:var(--muted);font-size:.75rem}.enhanced-floor-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.enhanced-floor-grid .floor-table{display:flex;min-height:250px;flex-direction:column;gap:9px}.floor-table-title{font-size:1.05rem}.occupancy-label{display:flex;color:#a33a2e;font-size:.7rem;font-weight:800;align-items:center;gap:6px}.occupancy-label i{width:8px;height:8px;border-radius:50%;background:#d64535}.available-label{color:var(--brand)}.available-label i{background:#22a06b}.floor-order-info{display:grid;gap:4px}.floor-order-info>strong{color:var(--brand);font-size:1.1rem}.floor-order-info small{color:var(--muted)}.table-ready-copy{color:var(--muted);font-size:.78rem}.start-table-order{display:grid;margin-top:auto;grid-template-columns:75px 1fr;gap:8px;align-items:end}.start-table-order label{display:grid;gap:4px;font-size:.7rem;font-weight:800}.start-table-order input{width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px}.floor-table details{margin-top:auto}.floor-table summary{padding:8px 0;color:var(--brand);cursor:pointer;font-size:.75rem;font-weight:800}.floor-table details form{display:grid;gap:7px}.floor-table details select{min-height:40px;padding:7px;border:1px solid var(--line);border-radius:8px}.merge-panel{margin-top:16px}@media(max-width:700px){.floor-stats{grid-template-columns:1fr 1fr}.enhanced-floor-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.enhanced-floor-grid{grid-template-columns:1fr}.floor-stats>div{padding:11px}.floor-area{padding:12px}}

/* Part 17: production readiness and customer data onboarding. */
.onboarding-imports{margin-top:18px}.onboarding-imports .section-title-row{margin-bottom:8px}
.onboarding-page{max-width:1500px}.onboarding-forms{align-items:start}.guided-form{display:grid;gap:10px}.guided-form>label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.guided-form input:not([type=checkbox]),.guided-form select,.guided-form textarea{width:100%;min-height:40px;padding:8px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.guided-form .checkbox-field{display:flex;align-items:center;gap:8px}.guided-form .checkbox-field input{width:20px;min-height:20px}.guided-form label small{font-weight:500}.guided-form>.button{justify-self:start}.onboarding-terminal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.onboarding-terminal{display:grid;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;color:inherit;text-decoration:none}.onboarding-terminal.inactive{opacity:.6}.onboarding-terminal span{color:var(--muted);font-size:.65rem;text-transform:uppercase}.onboarding-terminal strong{margin:5px 0;color:var(--brand)}.onboarding-terminal small{color:var(--muted)}.onboarding-next-grid,.onboarding-import-grid{display:grid;margin:14px 0;grid-template-columns:repeat(3,1fr);gap:10px}.onboarding-next-grid>a,.onboarding-import-grid>a{display:grid;min-height:125px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(25,33,29,.05)}.onboarding-next-grid span,.onboarding-import-grid span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.onboarding-next-grid strong,.onboarding-import-grid strong{margin:8px 0;color:var(--brand);font-size:1.05rem}.onboarding-next-grid small,.onboarding-import-grid small{margin-top:auto;color:var(--muted);font-size:.66rem;line-height:1.45}.deployment-checklist-card{margin-top:14px}.deployment-check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.deployment-check{display:grid;padding:13px;border:1px solid #efc4bf;border-radius:12px;background:#fff9f8;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.deployment-check.complete{border-color:#b8d8ca;background:#f2faf6}.deployment-check-title{display:flex;grid-column:1/-1;align-items:flex-start;gap:9px}.deployment-check-title input{width:21px;height:21px;margin-top:2px}.deployment-check-title span{display:grid}.deployment-check-title small{margin-top:3px;color:var(--muted);font-weight:500}.deployment-check>label:not(.deployment-check-title){display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:800}.deployment-check input[type=text],.deployment-check textarea{width:100%;padding:8px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.onboarding-editor{max-width:1120px}@media(max-width:1050px){.onboarding-terminal-grid{grid-template-columns:repeat(2,1fr)}.deployment-check-list{grid-template-columns:1fr}}@media(max-width:700px){.onboarding-next-grid,.onboarding-import-grid{grid-template-columns:1fr}.deployment-check{grid-template-columns:1fr}.deployment-check-title{grid-column:auto}}@media(max-width:480px){.onboarding-terminal-grid{grid-template-columns:1fr}}

/* Part 16: financial reporting, reconciliation and supplier-payment allocation. */
.finance-reports-page{max-width:1500px}.finance-report-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.finance-report-grid>a{display:grid;min-height:135px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(25,33,29,.05)}.finance-report-grid>a.attention,.report-metric-grid article.attention{border-color:#f0c98a;background:#fffaf1}.finance-report-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.finance-report-grid strong{margin:8px 0;color:var(--brand);font-size:1.3rem}.finance-report-grid small{margin-top:auto;color:var(--muted);font-size:.65rem;line-height:1.45}.cashbook-filter{grid-template-columns:170px 170px 250px auto}.reconciliation-filter{grid-template-columns:220px auto}.allocation-editor{margin-bottom:14px}.allocation-editor>p,.muted-copy{color:var(--muted);font-size:.75rem;line-height:1.5}.allocation-editor form{display:grid;max-width:850px;grid-template-columns:minmax(300px,1fr) 180px auto;gap:10px;align-items:end}.allocation-editor label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800}.allocation-editor select,.allocation-editor input{width:100%;min-height:41px;padding:8px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.allocation-columns{align-items:start}.danger-link{border:0;background:transparent;color:var(--danger);cursor:pointer}.supplier-balance-note>div:last-child{display:grid;text-align:right}.supplier-balance-note>div:last-child span{color:var(--muted);font-size:.65rem}.supplier-balance-note>div:last-child strong{font-size:1rem}@media(max-width:1050px){.finance-report-grid{grid-template-columns:repeat(2,1fr)}.allocation-columns{grid-template-columns:1fr}.allocation-editor form{grid-template-columns:1fr 180px auto}}@media(max-width:700px){.cashbook-filter,.allocation-editor form{grid-template-columns:1fr 1fr}.allocation-editor form label:first-child{grid-column:1/-1}.allocation-editor form .button{grid-column:1/-1;justify-self:start}.reconciliation-filter{grid-template-columns:1fr auto}}@media(max-width:480px){.finance-report-grid,.cashbook-filter,.reconciliation-filter,.allocation-editor form{grid-template-columns:1fr}.allocation-editor form label:first-child,.allocation-editor form .button{grid-column:auto}}

/* Part 18: secure hybrid local-to-cloud synchronization. */
.sync-page{max-width:1520px}.sync-identity-card{display:grid;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;grid-template-columns:180px 1fr 1.5fr;gap:10px}.sync-identity-card>div{display:grid;gap:5px}.sync-identity-card span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.sync-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;overflow-wrap:anywhere}.sync-metric-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(5,1fr);gap:10px}.sync-metric-grid article{display:grid;min-height:120px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.sync-metric-grid article.attention{border-color:#efb5b0;background:#fff7f6}.sync-metric-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.sync-metric-grid strong{margin:7px 0;color:var(--brand);font-size:1.4rem}.sync-metric-grid small{margin-top:auto;color:var(--muted);font-size:.65rem;line-height:1.4}.sync-node-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sync-node-grid article{display:grid;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafcfb;gap:5px}.sync-node-grid article>span{color:var(--brand);font-size:.65rem;font-weight:800;text-transform:uppercase}.sync-node-grid article>small{color:var(--muted)}.sync-conflict-card{border-color:#efb5b0}.sync-conflict{display:grid;padding:14px 0;border-top:1px solid var(--line);gap:10px}.sync-conflict:first-of-type{border-top:0}.sync-conflict p{margin:4px 0;color:var(--danger)}.sync-conflict>details summary{color:var(--brand);cursor:pointer;font-weight:800}.sync-payload-compare{display:grid;margin-top:8px;grid-template-columns:1fr 1fr;gap:8px}.sync-payload-compare pre{max-height:300px;overflow:auto;padding:10px;border-radius:8px;background:#17251f;color:#eaf5ef;font-size:.65rem;white-space:pre-wrap;overflow-wrap:anywhere}.sync-conflict form{display:grid;grid-template-columns:260px 1fr auto;gap:9px;align-items:end}.sync-conflict form label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:800}.sync-conflict select,.sync-conflict textarea{width:100%;min-height:41px;padding:8px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}@media(max-width:1000px){.sync-identity-card{grid-template-columns:1fr 1fr}.sync-identity-card>div:last-child{grid-column:1/-1}.sync-metric-grid{grid-template-columns:repeat(3,1fr)}.sync-node-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.sync-metric-grid,.sync-node-grid,.sync-payload-compare,.sync-conflict form{grid-template-columns:1fr}.sync-identity-card{grid-template-columns:1fr}.sync-identity-card>div:last-child{grid-column:auto}}

/* Part 15: Phase 3 financial foundation. */
.finance-page{max-width:1450px}.finance-metric-grid{display:grid;margin-bottom:14px;grid-template-columns:repeat(5,1fr);gap:10px}.finance-metric-grid>article,.finance-metric-grid>a{display:grid;min-height:125px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(25,33,29,.05)}.finance-metric-grid .attention{border-color:#f0c98a;background:#fffaf1}.finance-metric-grid span{color:var(--muted);font-size:.7rem;font-weight:800}.finance-metric-grid strong{margin:7px 0;color:var(--brand);font-size:1.3rem}.finance-metric-grid small{margin-top:auto;color:var(--muted);font-size:.64rem;line-height:1.4}.finance-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.finance-master-card{display:flex;min-height:220px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(25,33,29,.05);flex-direction:column}.finance-master-card.inactive{opacity:.62}.finance-master-card>span{color:var(--muted);font-size:.68rem;text-transform:uppercase}.finance-master-card h2{margin:7px 0;font-size:1.05rem}.finance-master-card p{color:var(--muted);font-size:.74rem}.finance-master-card>.button,.finance-card-actions{margin-top:auto}.finance-card-actions{display:flex;gap:7px}.finance-type{align-self:flex-start;padding:4px 8px;border-radius:12px;background:var(--accent);color:var(--brand);font-size:.68rem}.finance-type.type-expense{background:#fff0d7;color:#875500}.finance-account-balance{margin:10px 0;color:var(--brand);font-size:1.45rem}.finance-editor-page .field-description{grid-column:1/-1}.finance-filters{grid-template-columns:minmax(280px,1fr) 200px auto}.finance-transaction-filters{grid-template-columns:minmax(280px,1.4fr) 145px 145px 190px 160px auto}.finance-transaction-overview{grid-template-columns:repeat(4,1fr)}.transaction-actions{display:flex;margin-bottom:14px;gap:9px}.finance-void-card{border-color:#efb5b0;background:#fffafa}.finance-void-card form{display:grid;max-width:620px;gap:9px}.finance-void-card label{display:grid;gap:6px;font-size:.75rem;font-weight:800}.finance-void-card textarea{padding:9px;border:1px solid #d7bbb8;border-radius:8px}.report-rows b small{display:block;color:var(--muted);font-size:.65rem;font-weight:500}@media(max-width:1150px){.finance-metric-grid{grid-template-columns:repeat(3,1fr)}.finance-card-grid{grid-template-columns:repeat(2,1fr)}.finance-transaction-filters{grid-template-columns:repeat(3,1fr)}.finance-transaction-filters .wide-filter{grid-column:1/-1}}@media(max-width:700px){.finance-metric-grid,.finance-card-grid,.finance-transaction-overview{grid-template-columns:1fr 1fr}.finance-filters,.finance-transaction-filters{grid-template-columns:1fr 1fr}.finance-filters .wide-filter,.finance-transaction-filters .wide-filter{grid-column:1/-1}}@media(max-width:480px){.finance-metric-grid,.finance-card-grid,.finance-transaction-overview,.finance-filters,.finance-transaction-filters{grid-template-columns:1fr}.finance-filters .wide-filter,.finance-transaction-filters .wide-filter{grid-column:auto}.transaction-actions{flex-direction:column}}

/* Guided cashbook entry */
.finance-entry-form{gap:16px}.finance-entry-step{transition:border-color .2s ease,opacity .2s ease}.finance-entry-step.is-disabled{border-style:dashed;opacity:.62}.finance-entry-step [hidden]{display:none!important}.finance-type-guide{display:flex;margin-top:15px;padding:12px 14px;border:1px solid #b8d8c8;border-radius:11px;background:#f3faf6;align-items:flex-start;gap:7px;flex-direction:column}.finance-type-guide strong{color:var(--brand);font-size:.82rem}.finance-type-guide span{color:var(--muted);font-size:.72rem;line-height:1.4}.finance-entry-form .required-mark,.finance-entry-form .optional-mark{justify-self:start;padding:2px 6px;border-radius:8px;font-size:.57rem;font-weight:800;text-transform:uppercase}.finance-entry-form .required-mark{background:#e7f4ed;color:#176b4a}.finance-entry-form .optional-mark{background:#eef1ef;color:var(--muted)}.finance-entry-form label.has-error input,.finance-entry-form label.has-error select,.finance-entry-form label.has-error textarea{border-color:var(--danger);background:#fff8f7;box-shadow:0 0 0 2px rgba(184,47,40,.08)}.finance-entry-form label.has-error>span:first-child{color:var(--danger)}.finance-error-summary{padding:16px 18px;border:1px solid #e3a7a3;border-left:5px solid var(--danger);border-radius:12px;background:#fff6f5;color:#6d1d18;outline:none}.finance-error-summary strong{font-size:.88rem}.finance-error-summary ul{margin:9px 0 0;padding-left:20px}.finance-error-summary li{margin:4px 0;font-size:.75rem}.finance-error-summary a{color:#7d231d;text-decoration:none}.finance-error-summary a:hover{text-decoration:underline}.finance-error-summary a span{font-weight:800}.finance-draft-note{border-color:#b8d8c8;background:#f7fbf9}.finance-entry-form button:disabled{cursor:not-allowed;opacity:.5}.finance-entry-form select option:disabled{color:#9aa49e}@media(max-width:600px){.finance-type-guide{align-items:flex-start}.finance-entry-form .sticky-actions{display:grid;grid-template-columns:1fr 1fr}.finance-entry-form .sticky-actions .button{width:100%}}

/* Quick Stock: lightweight finished-product quantities. */
.menu-card.stock-out{opacity:.72}.menu-card.stock-out>button{cursor:not-allowed;filter:grayscale(.55)}.menu-card.stock-low{border-color:#e1a94a}.menu-stock-badge{display:inline-flex;align-self:flex-start;margin-top:7px;padding:4px 8px;border-radius:999px;background:#e7f5ed;color:#176b4d;font-size:.64rem;font-weight:800}.menu-stock-badge.low{background:#fff0d7;color:#875500}.menu-stock-badge.out{background:#ffe4e1;color:#a42b21}.quick-stock-page{max-width:1540px}.quick-stock-note{margin-bottom:14px;padding:14px 16px;border:1px solid #b8d8ca;border-radius:13px;background:#f2faf6;color:#285947}.quick-stock-note p{margin:5px 0 0;font-size:.75rem;line-height:1.5}.quick-stock-stats{display:grid;margin-bottom:14px;grid-template-columns:repeat(4,1fr);gap:10px}.quick-stock-stats>a{display:grid;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-decoration:none}.quick-stock-stats span{color:var(--muted);font-size:.7rem;font-weight:800}.quick-stock-stats strong{margin-top:5px;color:var(--brand);font-size:1.45rem}.quick-stock-stats .attention{border-color:#f0c98a;background:#fffaf1}.quick-stock-stats .danger{border-color:#efb5b0;background:#fff7f6}.quick-stock-stats .danger strong{color:var(--danger)}.quick-stock-filter{display:grid;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;grid-template-columns:minmax(260px,1fr) 200px auto;gap:9px;align-items:end}.quick-stock-filter label,.quick-stock-editor label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:800}.quick-stock-filter input,.quick-stock-filter select,.quick-stock-editor input:not([type=checkbox]),.quick-stock-editor select{width:100%;min-height:40px;padding:7px 9px;border:1px solid #cbd4cf;border-radius:8px;background:#fff}.quick-stock-list{display:grid;gap:10px}.quick-stock-row{display:grid;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;grid-template-columns:minmax(230px,1.1fr) 130px minmax(570px,2fr);gap:14px;align-items:center}.quick-stock-row.low{border-color:#f0c98a;background:#fffdf8}.quick-stock-row.out{border-color:#efb5b0;background:#fffafa}.quick-stock-product{display:flex;min-width:0;align-items:center;gap:11px}.quick-stock-product>div:last-child{display:grid;min-width:0}.quick-stock-product span,.quick-stock-product small,.quick-stock-balance span,.quick-stock-balance small{color:var(--muted);font-size:.66rem}.quick-stock-product strong{margin:3px 0}.quick-stock-image{display:grid;width:58px;height:58px;flex:0 0 58px;overflow:hidden;border-radius:10px;background:var(--accent);place-items:center;color:var(--brand);font-weight:900}.quick-stock-image img{width:100%;height:100%;object-fit:cover}.quick-stock-balance{display:grid}.quick-stock-balance strong{margin:3px 0;color:var(--brand);font-size:1.35rem}.quick-stock-row.out .quick-stock-balance strong{color:var(--danger)}.quick-stock-editor{display:grid;grid-template-columns:120px 155px 105px 125px minmax(150px,1fr) auto;gap:8px;align-items:end}.quick-track-toggle{display:flex!important;min-height:40px;align-items:center;gap:7px}.quick-track-toggle input{width:20px;height:20px}.quick-stock-history{margin-top:18px}.quick-stock-history .report-row{grid-template-columns:135px minmax(190px,1.2fr) 135px 90px 90px minmax(160px,1fr)}.quick-stock-history small{display:block;color:var(--muted)}.pagination{display:flex;margin:14px 0;align-items:center;justify-content:center;gap:10px}.pagination span{color:var(--muted);font-size:.75rem}@media(max-width:1250px){.quick-stock-row{grid-template-columns:minmax(230px,1fr) 120px}.quick-stock-editor{grid-column:1/-1}}@media(max-width:800px){.quick-stock-stats{grid-template-columns:1fr 1fr}.quick-stock-filter{grid-template-columns:1fr 180px}.quick-stock-filter .button{grid-column:1/-1;justify-self:start}.quick-stock-row{grid-template-columns:1fr 110px}.quick-stock-editor{grid-template-columns:1fr 1fr 1fr}.quick-stock-editor .quick-stock-reason{grid-column:1/-1}.quick-stock-history{overflow:auto}.quick-stock-history .report-table{min-width:850px}}@media(max-width:520px){.quick-stock-stats,.quick-stock-filter,.quick-stock-row,.quick-stock-editor{grid-template-columns:1fr}.quick-stock-filter .button,.quick-stock-editor .quick-stock-reason{grid-column:auto}.quick-stock-balance{padding-left:69px}}
