:root {
    color-scheme: light;
    --ink: #1d2925;
    --muted: #65736d;
    --line: #dbe3df;
    --surface: #ffffff;
    --canvas: #f4f7f5;
    --primary: #146c53;
    --primary-dark: #0d4e3c;
    --success-bg: #e4f5ed;
    --success-ink: #14583f;
    --warning-bg: #fff4d8;
    --warning-ink: #714b00;
    --error-bg: #fde8e7;
    --error-ink: #872d27;
    --info-bg: #eaf2f8;
    --info-ink: #234f70;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-width: 0; }

body {
    background: var(--canvas);
    color: var(--ink);
    font-size: 16px;
    line-height: 1.5;
    overflow-x: hidden;
}

a { color: var(--primary-dark); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
    outline: 3px solid #e2a61a;
    outline-offset: 2px;
}

.app-nav {
    background: var(--surface);
    border-block-end: 1px solid var(--line);
}

.nav-inner {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-inline: auto;
    max-width: 760px;
    min-height: 60px;
    padding: .5rem 1rem;
}

.brand-mark { color: var(--ink); font-weight: 800; text-decoration: none; }
.nav-actions { align-items: center; display: flex; gap: .85rem; }
.nav-actions a, .link-button {
    align-items: center;
    display: inline-flex;
    font-weight: 700;
    min-height: 48px;
    text-decoration: none;
}
.logout-form { margin: 0; }
.link-button { background: none; border: 0; color: var(--primary-dark); cursor: pointer; padding: .65rem 0; }

.page-shell {
    margin-inline: auto;
    max-width: 760px;
    padding: 1.25rem 1rem 3rem;
    width: 100%;
}

.login-shell {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
}

.login-card, .card, .task-card, .item-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 4px 18px rgb(29 41 37 / 5%);
}

.login-card { max-width: 430px; padding: 1.5rem; width: 100%; }
.login-heading { margin-block-end: 1.5rem; }
.login-heading h1, .page-header h1 { margin-block: .2rem .4rem; }
.login-heading p:last-child, .page-header > p:last-child { color: var(--muted); }

.eyebrow {
    color: var(--primary);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    margin: 0;
    text-transform: uppercase;
}

.page-header { margin-block-end: 1.25rem; }
.compact-header h1, .page-header h1, .section-heading h1 { overflow-wrap: anywhere; }
.compact-header h1 { font-size: clamp(1.45rem, 7vw, 2rem); line-height: 1.2; }
.back-link { display: inline-block; font-weight: 700; margin-block-end: 1rem; text-decoration: none; }
.workflow-title {
    color: var(--ink);
    font-size: clamp(1.12rem, 5.2vw, 1.45rem);
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 1.15;
    margin: .15rem 0 .3rem;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}
.page-header .workflow-date {
    color: var(--primary-dark);
    font-size: .92rem;
    font-weight: 900;
    letter-spacing: .045em;
    margin: .15rem 0 .65rem;
    text-transform: uppercase;
}

.today-header { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.business-date { font-size: clamp(1.55rem, 7vw, 2.2rem); font-weight: 850; line-height: 1.15; margin: .2rem 0 1rem; text-transform: uppercase; }
.business-date-small { color: var(--muted); font-weight: 700; margin: .2rem 0 .7rem; text-transform: uppercase; }
.branch-name { font-size: 1.15rem; font-weight: 800; margin-block: .2rem 1.25rem; overflow-wrap: anywhere; }

.branch-switcher { margin-block: .35rem 1.25rem; }
.branch-switcher label, .form-group label, .search-wrap label { display: block; font-size: .9rem; font-weight: 750; margin-block-end: .35rem; }
.inline-form { align-items: stretch; display: flex; gap: .5rem; min-width: 0; }
.inline-form select { min-width: 0; width: 100%; }

.section-heading h1 { font-size: 1.25rem; margin-block: 1.5rem .8rem; }
.card-list, .task-list, .item-list, .message-stack { display: grid; gap: .8rem; }
.card { padding: 1.15rem; }
.selectable-card { align-items: center; color: var(--ink); display: flex; font-size: 1.05rem; font-weight: 750; justify-content: space-between; min-height: 60px; text-decoration: none; }
.placeholder-card h2, .action-card h2 { margin-block: .7rem .25rem; }

.task-card {
    align-items: center;
    color: var(--ink);
    display: grid;
    gap: .85rem;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-height: 86px;
    padding: 1rem;
    text-decoration: none;
}

.task-card-active { border-color: #81baa7; box-shadow: 0 5px 20px rgb(20 108 83 / 10%); }
.task-number { align-items: center; background: #edf5f1; border-radius: 50%; display: flex; font-size: 1.1rem; font-weight: 850; height: 44px; justify-content: center; width: 44px; }
.task-copy { align-items: flex-start; display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.task-copy strong { overflow-wrap: anywhere; text-transform: uppercase; }
.task-arrow { font-size: 2rem; }

.status-badge { border-radius: 999px; display: inline-block; font-size: .75rem; font-weight: 800; padding: .24rem .6rem; text-transform: uppercase; }
.status-complete { background: var(--success-bg); color: var(--success-ink); }
.status-pending { background: var(--warning-bg); color: var(--warning-ink); }
.status-muted { background: #edf0ee; color: #56605c; }

.alert { border-radius: 12px; margin-block: 1rem; overflow-wrap: anywhere; padding: .85rem 1rem; }
.alert p { margin: 0; }
.alert-success { background: var(--success-bg); color: var(--success-ink); font-weight: 800; }
.alert-warning { background: var(--warning-bg); color: var(--warning-ink); }
.alert-error { background: var(--error-bg); color: var(--error-ink); }
.alert-info { background: var(--info-bg); color: var(--info-ink); }

.stack-form, .request-form { display: grid; gap: 1rem; }
.form-group input, .form-group select, .search-wrap input, .inline-form select {
    background: var(--surface);
    border: 1px solid #aebbb5;
    border-radius: 10px;
    min-height: 50px;
    padding: .7rem .8rem;
    width: 100%;
}

.field-error { color: var(--error-ink); font-size: .9rem; font-weight: 700; margin: .4rem 0 0; }
.search-wrap { margin-block-end: 1rem; }

.item-card { min-width: 0; padding: 1rem; }
.item-heading { min-width: 0; }
.item-heading h2 { font-size: 1.05rem; margin: 0; overflow-wrap: anywhere; }
.item-heading p { color: var(--muted); margin: .2rem 0 0; overflow-wrap: anywhere; text-align: start; }
.quantity-entry { min-width: 0; }
.quantity-role-label { color: var(--ink); display: block; font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.quantity-entry .quantity-stepper { margin-block-start: .3rem; }
.quantity-stepper { align-items: stretch; display: grid; gap: .55rem; grid-template-columns: 52px minmax(0, 1fr) 52px; margin-block-start: .9rem; min-width: 0; }
.stepper-button { background: #edf5f1; border: 1px solid #8ebcab; border-radius: 12px; color: var(--primary-dark); cursor: pointer; font-size: 1.75rem; font-weight: 900; min-height: 52px; padding: 0; touch-action: manipulation; }
.quantity-field { min-width: 0; }
.quantity-input { appearance: textfield; border: 1px solid #8f9f98; border-radius: 12px; font-size: 1.35rem; font-weight: 900; height: 52px; min-width: 0; padding: .35rem; text-align: center; width: 100%; }
.quantity-input::-webkit-inner-spin-button, .quantity-input::-webkit-outer-spin-button { -webkit-appearance: none; display: none; margin: 0; }

.form-actions { display: grid; gap: .7rem; margin-block-start: 1rem; }
.button { align-items: center; border: 1px solid transparent; border-radius: 12px; cursor: pointer; display: inline-flex; font-weight: 850; justify-content: center; min-height: 50px; padding: .75rem 1rem; text-align: center; text-decoration: none; }
.button-primary { background: var(--primary); color: #fff; }
.button-primary:hover { background: var(--primary-dark); }
.button-secondary { background: var(--surface); border-color: #9eada6; color: var(--ink); }
.button-full, .full-width-form { width: 100%; }

.summary-card h2 { margin-block-start: 0; }
.summary-list { margin: 0; }
.summary-list > div { align-items: baseline; border-block-end: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; padding-block: .75rem; }
.summary-list > div:last-child { border-block-end: 0; }
.summary-list dt { min-width: 0; overflow-wrap: anywhere; }
.summary-list dd { font-size: 1.1rem; font-weight: 850; margin: 0; max-width: 10ch; overflow-wrap: anywhere; }
.metadata { color: var(--muted); font-size: .9rem; margin-block: 1rem 0; }

.sr-only { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0, 0, 0, 0); white-space: nowrap; }
[hidden] { display: none !important; }

@media (min-width: 620px) {
    .page-shell { padding-block-start: 2rem; }
    .form-actions { grid-template-columns: 1fr 1fr; }
    .item-card { align-items: center; display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr); }
    .quantity-stepper { margin-block-start: 0; }
}

@media (max-width: 380px) {
    .page-shell { padding-inline: .75rem; }
    .nav-inner { padding-inline: .75rem; }
    .nav-actions { gap: .6rem; }
    .brand-mark { font-size: .92rem; }
    .task-card { gap: .65rem; padding: .85rem; }
}

/* Phase 3 Chef workflow: deliberately narrow, large, and low-text. */
.chef-shell { max-width: 640px; }
.chef-shell .page-header h1,
.chef-today-header h1 { font-size: clamp(1.55rem, 7vw, 2.25rem); line-height: 1.08; overflow-wrap: anywhere; }
.chef-today-header { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-block-end: 1.25rem; }
.chef-today-header h1 { margin: .15rem 0 .5rem; text-transform: uppercase; }
.compact-link { font-size: .78rem; font-weight: 850; min-height: 44px; padding-block: .65rem; text-decoration: none; }

.chef-summary {
    background: var(--ink);
    border-radius: 16px;
    color: #fff;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, 1fr);
    margin-block-end: 1rem;
    overflow: hidden;
}
.chef-summary div { align-items: center; background: #263832; display: flex; flex-direction: column; padding: .75rem .3rem; }
.chef-summary strong { font-size: 1.65rem; line-height: 1; }
.chef-summary span { font-size: .68rem; font-weight: 850; margin-block-start: .35rem; }

.chef-branch-list { display: grid; gap: .8rem; }
.chef-branch-card {
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 3px 12px rgba(29, 41, 37, .06);
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    padding: 1rem;
}
.chef-branch-copy { min-width: 0; }
.chef-branch-copy h2 { font-size: 1.25rem; line-height: 1.15; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.chef-branch-copy p { color: var(--muted); font-size: .9rem; font-weight: 750; margin: .45rem 0; }
.chef-card-action { min-height: 58px; min-width: 84px; }

.chef-entry-header { margin-block-end: 1rem; }
.chef-entry-header .back-link { display: inline-flex; font-weight: 850; min-height: 44px; text-decoration: none; }
.chef-state-alert { font-size: 1.1rem; font-weight: 900; text-align: center; }
.chef-item-card { border-radius: 16px; padding: 1rem; }
.chef-item-card .item-heading h2 { font-size: 1.25rem; line-height: 1.15; }
.requested-quantity {
    align-items: baseline;
    background: #edf5f1;
    border-inline-start: 4px solid var(--primary);
    border-radius: 8px;
    color: var(--ink);
    display: flex;
    gap: .5rem;
    margin-block-start: .5rem;
    max-width: max-content;
    padding: .3rem .55rem;
}
.requested-quantity span { font-size: .88rem; font-weight: 900; letter-spacing: .045em; }
.requested-quantity strong { font-size: 1.28rem; font-weight: 950; line-height: 1; }
.requested-quantity-none { background: #f2f4f3; border-inline-start-color: #8b9691; }
.requested-quantity-none strong { font-size: .82rem; }
.requested-inline { color: var(--ink); display: block; font-size: .82rem; font-weight: 900; margin-block-start: .35rem; }
.requested-inline b { color: var(--primary-dark); font-size: 1.05rem; margin-inline-start: .25rem; }
.requested-inline-none b { color: #56605c; font-size: .78rem; }
.operational-reference { color: var(--ink); display: block; font-size: .82rem; font-weight: 900; margin-block-start: .4rem; }
.operational-reference strong { color: var(--primary-dark); font-size: 1.12rem; margin-inline-start: .25rem; }
.chef-stepper { grid-template-columns: 64px minmax(0, 1fr) 64px; }
.chef-stepper .stepper-button { font-size: 2.1rem; min-height: 64px; }
.chef-stepper .quantity-input { font-size: 1.8rem; height: 64px; }
.chef-button { min-height: 58px; }
.button:disabled { cursor: wait; opacity: .72; }
.chef-confirm-card .summary-list dt { display: block; }
.chef-confirm-card .summary-list dd { font-size: 1.35rem; }
.chef-success { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: calc(100vh - 150px); text-align: center; }
.chef-success h1 { font-size: clamp(1.8rem, 9vw, 2.7rem); line-height: 1.05; margin: .5rem 0 2rem; }
.success-mark { align-items: center; background: var(--success-bg); border-radius: 50%; color: var(--success-ink); display: inline-flex; font-size: 3rem; font-weight: 900; height: 88px; justify-content: center; width: 88px; }
.chef-select-card { padding: 1rem; }

@media (min-width: 620px) {
    .chef-production-form .chef-item-card { grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr); }
}

@media (max-width: 390px) {
    .chef-branch-card { align-items: stretch; grid-template-columns: 1fr; }
    .chef-card-action { width: 100%; }
    .chef-stepper { gap: .45rem; grid-template-columns: 60px minmax(0, 1fr) 60px; }
    .chef-today-header { gap: .5rem; }
}

/* Phase 7: desktop-first Admin Control and controlled-correction workspace. */
.control-shell { max-width: 1380px; }
.control-tabs {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-block-end: 1.25rem;
    padding: .45rem;
}
.control-tabs a { align-items: center; border-radius: 10px; display: inline-flex; flex: 0 0 auto; font-weight: 850; min-height: 44px; padding: .65rem 1rem; text-decoration: none; }
.control-tabs a.is-active { background: #e7f1ed; color: var(--primary-dark); }
.control-heading h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); }
.control-filter { align-items: end; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; display: grid; gap: .75rem; margin-block-end: 1rem; padding: 1rem; }
.control-filter select, .control-filter input, .control-shell textarea, .control-shell .form-group input { background: var(--surface); border: 1px solid #aebbb5; border-radius: 10px; min-height: 48px; padding: .65rem .75rem; width: 100%; }
.control-shell textarea { resize: vertical; }
.control-card-list { display: grid; gap: 1rem; }
.control-row-heading { align-items: flex-start; display: flex; gap: .75rem; justify-content: space-between; }
.control-row-heading h2, .control-row-heading h3 { margin: 0; overflow-wrap: anywhere; }
.control-row-heading p { color: var(--muted); margin: .2rem 0 0; }
.control-summary-card { align-content: start; display: grid; gap: .65rem; min-width: 0; padding: 1rem; }
.control-summary-header { align-items: flex-start; display: flex; gap: .75rem; justify-content: space-between; min-width: 0; }
.control-branch-identity { min-width: 0; }
.control-branch-identity h2 { font-size: 1.18rem; line-height: 1.2; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.control-branch-identity p { color: var(--muted); font-size: .84rem; margin: .2rem 0 0; overflow-wrap: anywhere; }
.control-lifecycle { border: 1px solid transparent; border-radius: 999px; flex: 0 0 auto; font-size: .72rem; font-weight: 900; padding: .3rem .62rem; text-transform: uppercase; }
.control-lifecycle-closed { background: var(--success-bg); color: var(--success-ink); }
.control-lifecycle-open { background: var(--info-bg); color: var(--info-ink); }
.control-readiness { border-radius: 8px; font-size: .72rem; font-weight: 850; padding: .38rem .55rem; text-transform: uppercase; }
.control-readiness-complete { background: var(--success-bg); color: var(--success-ink); }
.control-readiness-pending { background: var(--warning-bg); border-inline-start: 4px solid #d49a22; color: var(--warning-ink); }
.control-order-summary { border-block: 1px solid var(--line); padding-block: .5rem; }
.control-order-summary h3 { color: var(--muted); font-size: .68rem; letter-spacing: .1em; margin: 0 0 .22rem; text-transform: uppercase; }
.control-status-list { display: grid; gap: 0; margin: 0; }
.control-status-list > div { align-items: center; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; padding-block: .28rem; }
.control-status-list dt { font-size: .86rem; font-weight: 750; min-width: 0; overflow-wrap: anywhere; }
.control-status-list dd { margin: 0; max-width: 19ch; overflow-wrap: anywhere; text-align: end; }
.control-state { border-radius: 999px; display: inline-block; font-size: .68rem; font-weight: 900; line-height: 1.25; padding: .22rem .5rem; text-transform: uppercase; }
.control-state-complete { background: var(--success-bg); color: var(--success-ink); }
.control-state-pending { background: var(--warning-bg); border: 1px solid #e4bd67; color: var(--warning-ink); }
.control-state-muted { background: #edf0ee; color: #56605c; }
.control-state-neutral { background: var(--info-bg); color: var(--info-ink); }
.control-day-summary { padding-block-start: .1rem; }
.control-summary-footer { margin-block-start: auto; padding-block-start: .35rem; }
.control-summary-footer .button { min-height: 44px; width: 100%; }
.control-status-strip { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.control-status-strip > span:not(.status-badge) { background: var(--surface); border: 1px solid var(--line); border-radius: 999px; font-size: .78rem; font-weight: 800; padding: .3rem .65rem; }
.control-cycle-grid { display: grid; gap: .9rem; }
.control-cycle-card, .control-sales-card { margin-block-end: .9rem; }
.control-cycle-card h3 { border-block-end: 1px solid var(--line); font-size: .78rem; letter-spacing: .08em; margin: 1rem 0 .2rem; padding-block-end: .35rem; text-transform: uppercase; }
.control-quantity-row { align-items: center; border-block-end: 1px solid var(--line); display: grid; gap: .65rem; grid-template-columns: minmax(0, 1fr) auto auto; padding-block: .65rem; }
.control-quantity-row:last-child { border-block-end: 0; }
.control-quantity-row > div { min-width: 0; }
.control-quantity-row > div:first-child { display: flex; flex-direction: column; }
.control-quantity-row small { color: var(--muted); overflow-wrap: anywhere; }
.control-quantity-row > div:nth-child(2) { text-align: end; }
.control-quantity-row > div:nth-child(2) span { color: var(--muted); display: block; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.control-quantity-row > div:nth-child(2) strong { font-size: 1.25rem; }
.control-quantity-row .button { min-height: 42px; padding: .45rem .7rem; }
.corrected-badge { align-self: flex-start; background: var(--info-bg); border-radius: 999px; color: var(--info-ink); font-size: .68rem; font-weight: 850; margin-block-start: .25rem; padding: .2rem .5rem; text-transform: uppercase; }
.control-empty-line { color: var(--muted); margin: .65rem 0 0; }
.control-total-grid { background: #18352d; border-radius: 16px; color: #fff; display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: 1rem; overflow: hidden; }
.control-total-grid div { align-items: center; background: #263f38; display: flex; flex-direction: column; min-width: 0; padding: .9rem .4rem; text-align: center; }
.control-total-grid span { color: #c8ddd5; font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.control-total-grid strong { font-size: 1.45rem; margin-block-start: .25rem; overflow-wrap: anywhere; }
.control-actions { display: grid; gap: .7rem; margin-block: 1rem; }
.button-danger { background: #8b2f2a; color: #fff; }
.button-danger:hover { background: #68221f; }
.confirmation-warning { border-color: #d6a33c; }
.confirmation-warning h2 { margin-block-start: 0; }
.control-history-preview { margin-block-start: 1rem; }
.control-history-preview > a { border-block-start: 1px solid var(--line); display: flex; flex-direction: column; padding-block: .7rem; text-decoration: none; }
.control-history-preview > a span { color: var(--muted); font-size: .78rem; }
.correction-context dl, .correction-review dl, .correction-detail dl { margin: 0; }
.correction-context dl > div, .correction-review dl > div, .correction-detail dl > div { align-items: baseline; border-block-end: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(120px, .4fr) minmax(0, 1fr); padding-block: .65rem; }
.correction-context dl > div:last-child, .correction-review dl > div:last-child, .correction-detail dl > div:last-child { border: 0; }
.correction-context dt, .correction-review dt, .correction-detail dt { color: var(--muted); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.correction-context dd, .correction-review dd, .correction-detail dd { font-weight: 850; margin: 0; overflow-wrap: anywhere; text-align: end; }
.correction-new-value { background: var(--success-bg); margin-inline: -.5rem; padding-inline: .5rem; }
.correction-new-value dd { color: var(--success-ink); font-size: 1.45rem; }
.confirm-check { align-items: flex-start; display: flex; gap: .7rem; font-weight: 800; }
.confirm-check input { flex: 0 0 auto; height: 22px; margin-block-start: .1rem; width: 22px; }
.correction-history-heading { max-width: 760px; }
.correction-event-list { display: grid; gap: 1rem; }
.correction-event-card { display: grid; gap: .9rem; min-width: 0; padding: 1.15rem; }
.correction-event-header { align-items: flex-start; display: flex; gap: .75rem; justify-content: space-between; min-width: 0; }
.correction-event-header > div { min-width: 0; }
.correction-event-header h2 { font-size: 1.18rem; line-height: 1.25; margin: .2rem 0 0; overflow-wrap: anywhere; }
.correction-record-type { color: var(--primary-dark); font-size: .72rem; font-weight: 900; letter-spacing: .08em; margin: 0; overflow-wrap: anywhere; text-transform: uppercase; }
.correction-delta { align-items: baseline; background: #18352d; border-radius: 12px; color: #fff; display: flex; font-size: 1.65rem; font-weight: 850; gap: .65rem; justify-content: center; line-height: 1; min-width: 0; padding: .8rem; }
.correction-delta span:nth-child(2) { color: #a9c9bd; }
.correction-delta strong { color: #fff; font-size: 1.35em; overflow-wrap: anywhere; }
.correction-event-metadata { display: grid; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.correction-event-metadata > div { background: var(--canvas); border-radius: 9px; min-width: 0; padding: .55rem .65rem; }
.correction-event-metadata dt, .correction-attribution > span, .correction-reason h3, .correction-detail-summary > p { color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.correction-event-metadata dd { font-weight: 800; margin: .12rem 0 0; overflow-wrap: anywhere; }
.correction-reason { border-block-start: 1px solid var(--line); min-width: 0; padding-block-start: .72rem; }
.correction-reason h3 { margin: 0; }
.correction-reason p { margin: .25rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.correction-event-footer { align-items: end; border-block-start: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; min-width: 0; padding-block-start: .8rem; }
.correction-attribution { display: flex; flex-direction: column; min-width: 0; }
.correction-attribution strong, .correction-attribution time { overflow-wrap: anywhere; }
.correction-attribution time { color: var(--muted); font-size: .8rem; margin-block-start: .1rem; }
.correction-detail-action { flex: 0 0 auto; min-height: 44px; }
.correction-detail-heading h1 { margin-block-start: .25rem; }
.correction-closed-context { margin-block-end: 0; }
.correction-detail-layout { display: grid; gap: 1rem; margin-block-end: 1rem; }
.correction-detail-summary, .correction-audit-context { min-width: 0; }
.correction-detail-summary > p { margin-block: 0 .5rem; }
.correction-delta-large { font-size: clamp(2rem, 5vw, 3rem); margin-block-end: .7rem; padding: 1rem; }
.correction-detail-metadata { display: grid; gap: 0; margin: 0; }
.correction-detail-metadata > div { align-items: baseline; border-block-start: 1px solid var(--line); display: grid; gap: .75rem; grid-template-columns: minmax(120px, .65fr) minmax(0, 1fr); padding-block: .55rem; }
.correction-detail-metadata dt { color: var(--muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.correction-detail-metadata dd { font-weight: 800; margin: 0; overflow-wrap: anywhere; text-align: end; }
.correction-detail-reason { margin-block-end: 1rem; }
.correction-detail-reason h2, .correction-chain h2 { margin-block-start: 0; }
.correction-detail-reason p { margin-block-end: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.correction-chain { margin-block: 1rem; }
.correction-chain-intro { color: var(--muted); }
.correction-chain ol { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }
.correction-chain li { align-items: start; background: var(--canvas); border: 1px solid var(--line); border-radius: 10px; display: grid; gap: .8rem; grid-template-columns: auto minmax(0, 1fr); min-width: 0; padding: .7rem; }
.correction-chain li.is-current { background: var(--info-bg); border-color: #aecbde; }
.correction-chain-change { align-items: baseline; display: flex; font-size: 1.15rem; font-weight: 850; gap: .35rem; white-space: nowrap; }
.correction-chain-copy { display: flex; flex-direction: column; min-width: 0; }
.correction-chain-copy time { color: var(--muted); font-size: .78rem; }
.correction-chain-copy p { margin: .25rem 0 0; overflow-wrap: anywhere; }
.correction-chain-copy p span { font-weight: 800; }

@media (min-width: 760px) {
    .control-filter { grid-template-columns: 1.15fr 1fr 1fr 1fr auto; }
    .control-actions { grid-template-columns: minmax(220px, .55fr) minmax(180px, .45fr); }
    .control-cycle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .control-total-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .control-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .correction-event-list, .correction-detail-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1180px) {
    .control-card-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .control-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    .control-tabs a { justify-content: center; min-width: 0; text-align: center; }
    .control-summary-header, .correction-event-header { align-items: flex-start; }
    .control-lifecycle { max-width: 42%; overflow-wrap: anywhere; text-align: center; }
    .control-quantity-row { align-items: stretch; grid-template-columns: minmax(0, 1fr) auto; }
    .control-quantity-row .button { grid-column: 1 / -1; width: 100%; }
    .correction-context dl > div, .correction-review dl > div, .correction-detail dl > div { grid-template-columns: 1fr; gap: .15rem; }
    .correction-context dd, .correction-review dd, .correction-detail dd { text-align: start; }
    .correction-event-metadata { grid-template-columns: 1fr; }
    .correction-event-footer { align-items: stretch; flex-direction: column; }
    .correction-detail-action { width: 100%; }
    .correction-detail-metadata > div { grid-template-columns: 1fr; gap: .15rem; }
    .correction-detail-metadata dd { text-align: start; }
    .correction-chain li { grid-template-columns: 1fr; }
}

/* Phase 4 Branch Receipt: same mobile control language, faster normal path. */
.receipt-shell { max-width: 640px; }
.receipt-section-title { font-size: 1.05rem; margin-block: 0 .8rem; text-transform: uppercase; }
.receipt-sent-list { gap: .65rem; }
.receipt-sent-card {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
}
.receipt-quantity { align-items: center; display: flex; flex-direction: column; min-width: 70px; }
.receipt-quantity span,
.receipt-input-label { color: var(--muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.receipt-quantity strong { font-size: 2rem; line-height: 1; }
.receipt-primary-actions { display: grid; gap: .75rem; margin-block-start: 1.25rem; }
.receipt-primary-button { font-size: 1.05rem; min-height: 64px; }
.receipt-confirm-card { padding: 1.5rem 1rem; text-align: center; }
.receipt-confirm-card h2 { font-size: clamp(1.45rem, 7vw, 2rem); line-height: 1.15; margin: .8rem 0 .45rem; }
.receipt-confirm-card p { color: var(--muted); margin: 0; }
.receipt-check-mark { align-items: center; background: var(--success-bg); border-radius: 50%; color: var(--success-ink); display: inline-flex; font-size: 2rem; font-weight: 900; height: 60px; justify-content: center; width: 60px; }
.receipt-discrepancy-card { align-items: stretch; }
.receipt-input-label { display: block; margin-block-end: .25rem; }
.receipt-difference { color: var(--success-ink); display: block; font-size: .78rem; margin-block-start: .45rem; text-transform: uppercase; }
.receipt-difference-visible { color: var(--warning-ink); font-weight: 900; }
.receipt-reason-card { margin-block-start: .25rem; }
.receipt-reason-card label { display: block; font-weight: 850; margin-block-end: .5rem; }
.receipt-reason-hint { color: var(--muted); display: block; font-size: .78rem; font-weight: 650; }
.receipt-reason-input { border: 1px solid #aebbb5; border-radius: 12px; min-height: 88px; padding: .75rem; resize: vertical; width: 100%; }
.receipt-result-card { display: grid; gap: .8rem; }
.receipt-result-exception { border-color: #d8ae55; }
.receipt-quantity-pair { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.receipt-quantity-pair div { background: var(--canvas); border-radius: 12px; padding: .65rem; text-align: center; }
.receipt-quantity-pair dt { color: var(--muted); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.receipt-quantity-pair dd { font-size: 1.6rem; font-weight: 900; margin: 0; overflow-wrap: anywhere; }
.receipt-recorded-reason { color: var(--muted); margin: 0; overflow-wrap: anywhere; }

@media (min-width: 620px) {
    .receipt-discrepancy-form .receipt-discrepancy-card { grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr); }
}

/* Phase 5: Branch Sales and same-day wastage result */
.sales-shell { max-width: 640px; }
.sales-instruction { color: var(--muted); font-weight: 650; margin: 0 0 1rem; }
.sales-entry-card { align-items: stretch; }
.sales-input-label { color: var(--muted); display: block; font-size: .72rem; font-weight: 850; margin-block-end: .25rem; text-transform: uppercase; }
.sales-review-list { display: grid; gap: .7rem; margin-block-start: 1rem; }
.sales-review-row { background: var(--canvas); border: 1px solid var(--line); border-radius: 14px; padding: .8rem; }
.sales-review-exception,
.sales-result-exception { border-color: #d8ae55; }
.sales-review-name { display: grid; gap: .15rem; min-width: 0; }
.sales-review-name strong,
.sales-review-name span { overflow-wrap: anywhere; }
.sales-review-name span { color: var(--muted); }
.sales-review-quantities { display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .65rem 0 0; }
.sales-review-quantities div,
.sales-result-quantities div { background: var(--surface); border-radius: 10px; padding: .55rem; text-align: center; }
.sales-review-quantities dt,
.sales-result-quantities dt { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.sales-review-quantities dd,
.sales-result-quantities dd { font-size: 1.35rem; font-weight: 900; margin: 0; overflow-wrap: anywhere; }
.sales-exception-note { color: var(--warning-ink); font-size: .82rem; font-weight: 800; margin: .65rem 0 0; overflow-wrap: anywhere; }
.sales-result-summary { background: #18352d; border-radius: 16px; color: #fff; display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-end: 1rem; overflow: hidden; }
.sales-result-summary-single { grid-template-columns: minmax(0, 1fr); }
.sales-result-summary div { align-items: center; background: #263f38; display: flex; flex-direction: column; padding: .9rem .35rem; text-align: center; }
.sales-result-summary span { font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.sales-result-summary strong { font-size: 1.55rem; line-height: 1.1; margin-block-start: .3rem; overflow-wrap: anywhere; }
.sales-result-card { display: grid; gap: .8rem; }
.sales-result-quantities { display: grid; gap: .4rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.sales-success { gap: .65rem; }
.sales-success h1 { margin-block-end: .75rem; }
.sales-success-result { align-items: center; background: #18352d; border-radius: 18px; color: #fff; display: flex; flex-direction: column; padding: 1.15rem; width: 100%; }
.sales-success-result span { font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.sales-success-result strong { font-size: clamp(1.55rem, 8vw, 2.2rem); line-height: 1.1; margin-block-start: .35rem; overflow-wrap: anywhere; }
.sales-success-result small { margin-block-start: .3rem; }
.sales-success .alert { margin: .25rem 0; text-align: start; width: 100%; }
.sales-success-actions { display: grid; gap: .7rem; margin-block-start: .3rem; width: 100%; }

@media (min-width: 620px) {
    .sales-entry-form .sales-entry-card { grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr); }
}

@media (max-width: 390px) {
    .sales-result-quantities dd { font-size: 1.15rem; }
}

/* Phase 6: mobile-first Owner and Management reporting. */
.management-shell {
    max-width: 1180px;
    padding-block-end: calc(6.5rem + env(safe-area-inset-bottom));
}
.management-tabs {
    background: var(--surface);
    border-block-start: 1px solid var(--line);
    bottom: 0;
    box-shadow: 0 -6px 24px rgb(29 41 37 / 10%);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    inset-inline: 0;
    padding-block-end: env(safe-area-inset-bottom);
    position: fixed;
    z-index: 20;
    overflow: hidden;
}
.management-tabs a {
    align-items: center;
    color: var(--ink);
    display: flex;
    font-size: clamp(.63rem, 2.8vw, .78rem);
    font-weight: 850;
    justify-content: center;
    min-height: 60px;
    padding: .45rem .15rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}
.management-tabs a + a { border-inline-start: 1px solid var(--line); }
.management-tabs a.is-active {
    background: #e7f1ed;
    box-shadow: inset 0 3px 0 var(--primary);
    color: var(--primary-dark);
}
.management-heading h1 { font-size: clamp(1.65rem, 8vw, 2.5rem); line-height: 1.08; }

.owner-dashboard-header { margin-block: .15rem .75rem; }
.owner-dashboard-header h1 { font-size: clamp(1.9rem, 9vw, 2.65rem); line-height: 1.05; margin: 0; overflow-wrap: anywhere; }
.owner-date-row { align-items: center; display: flex; gap: .75rem; justify-content: space-between; margin-block-start: .65rem; }
.owner-date-row > p { color: var(--muted); font-size: .95rem; font-weight: 750; margin: 0; }
.dashboard-date-control { flex: 0 0 auto; position: relative; }
.dashboard-date-control summary {
    align-items: center;
    background: var(--surface);
    border: 1px solid #aebbb5;
    border-radius: 999px;
    color: var(--primary-dark);
    cursor: pointer;
    display: inline-flex;
    font-size: .75rem;
    font-weight: 850;
    list-style: none;
    min-height: 42px;
    padding: .5rem .8rem;
    text-transform: uppercase;
}
.dashboard-date-control summary::-webkit-details-marker { display: none; }
.dashboard-date-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 12px 32px rgb(29 41 37 / 16%);
    inset-inline-end: 0;
    padding: .8rem;
    position: absolute;
    top: calc(100% + .45rem);
    width: min(340px, calc(100vw - 1.5rem));
    z-index: 10;
}
.dashboard-date-form { display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr) auto; }
.dashboard-date-form input { border: 1px solid #aebbb5; border-radius: 10px; min-height: 46px; min-width: 0; padding: .65rem; width: 100%; }
.dashboard-date-form .button { min-height: 46px; }
.dashboard-date-form .field-error { grid-column: 1 / -1; }
.dashboard-date-panel .quick-date-links { margin: .7rem 0 0; }

.owner-completion {
    border: 1px solid;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    margin-block: .75rem 1rem;
    padding: 1rem;
}
.owner-completion-label { font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.owner-completion > strong { font-size: 1.25rem; line-height: 1.2; margin-block-start: .35rem; overflow-wrap: anywhere; }
.owner-completion p { margin: .4rem 0 0; }
.owner-completion a { align-items: center; align-self: flex-start; display: inline-flex; font-size: .82rem; font-weight: 900; margin-block-start: .55rem; min-height: 40px; text-decoration: none; text-transform: uppercase; }
.owner-completion-incomplete { background: var(--warning-bg); border-color: #d7a83d; box-shadow: 0 5px 18px rgb(113 75 0 / 10%); color: var(--warning-ink); }
.owner-completion-complete { background: var(--success-bg); border-color: #9dcdb9; color: var(--success-ink); }

.owner-kpis { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: 1rem; }
.owner-kpi {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 108px;
    min-width: 0;
    padding: .9rem;
}
.owner-kpi > strong { font-size: clamp(1.75rem, 9vw, 2.3rem); line-height: 1.05; overflow-wrap: anywhere; }
.owner-kpi > span { color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .06em; margin-block-start: .45rem; text-transform: uppercase; }
.owner-kpi > small { color: var(--muted); font-size: .7rem; margin-block-start: .15rem; }
.owner-kpi-value { background: #18352d; border-color: #18352d; color: #fff; grid-column: 1 / -1; min-height: 132px; }
.owner-kpi-value > strong { font-size: clamp(2.55rem, 14vw, 4rem); }
.owner-kpi-value > strong small { font-size: .85rem; }
.owner-kpi-value > span { color: #c8ddd5; }

.owner-ranking-grid { display: grid; gap: .8rem; }
.owner-ranking-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1rem;
}
.owner-ranking-card > strong { font-size: 1.25rem; margin-block-start: .45rem; overflow-wrap: anywhere; }
.owner-ranking-card .large-value { margin-block-start: .25rem; }
.owner-ranking-detail { color: var(--muted); font-size: .82rem; margin-block-start: .15rem; overflow-wrap: anywhere; }

.report-filter {
    align-items: end;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    display: grid;
    gap: .7rem;
    margin-block-end: 1rem;
    padding: .85rem;
}
.report-filter .form-group input { min-height: 48px; }
.report-date-filter { grid-template-columns: minmax(0, 1fr) auto; }
.report-range-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-range-filter .button { grid-column: 1 / -1; }
.report-filter .field-error { grid-column: 1 / -1; }
.quick-date-links { display: flex; gap: .5rem; margin: -.45rem 0 1rem; }
.quick-date-links a { background: #e7efeb; border-radius: 999px; font-size: .78rem; font-weight: 850; min-height: 38px; padding: .55rem .9rem; text-decoration: none; text-transform: uppercase; }

.data-state-banner {
    border: 2px solid;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-block: 1rem;
    padding: 1rem;
}
.data-state-banner strong { font-size: 1.15rem; text-transform: uppercase; }
.data-state-banner span { font-weight: 800; }
.data-state-banner small { margin-block-start: .35rem; }
.data-state-complete { background: var(--success-bg); border-color: #7ab89f; color: var(--success-ink); }
.data-state-incomplete { background: var(--warning-bg); border-color: #dfb75e; color: var(--warning-ink); }

.report-kpis { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: 1rem; }
.report-kpi {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 112px;
    min-width: 0;
    padding: .9rem;
}
.report-kpi > span { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.report-kpi > strong { font-size: clamp(1.45rem, 7vw, 2rem); line-height: 1.1; margin-block-start: .35rem; overflow-wrap: anywhere; }
.report-kpi > strong small { font-size: .7rem; }
.report-kpi > small { color: var(--muted); font-size: .7rem; margin-block-start: .25rem; }
.report-kpi-primary { background: #18352d; border-color: #18352d; color: #fff; grid-column: 1 / -1; min-height: 132px; }
.report-kpi-primary > span, .report-kpi-primary > small { color: #c8ddd5; }
.report-kpi-primary > strong { font-size: clamp(2rem, 11vw, 3.2rem); }

.large-value { font-size: 1.45rem; font-weight: 900; overflow-wrap: anywhere; }
.card-link { color: var(--primary-dark); font-weight: 850; margin-block-start: .35rem; }
.report-primary-link { margin-block-start: 1rem; width: 100%; }

.completion-summary { align-items: center; display: flex; flex-direction: column; margin-block-end: 1rem; text-align: center; }
.completion-summary > strong { font-size: 2.4rem; line-height: 1; }
.completion-summary > span { font-weight: 800; margin-block-start: .45rem; }
.completion-summary > p { color: var(--muted); margin-block-end: 0; }
.completion-stage-counts { display: grid; gap: .4rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .75rem 0 0; width: 100%; }
.completion-stage-counts div { background: var(--canvas); border-radius: 9px; padding: .5rem; }
.completion-stage-counts dt { color: var(--muted); font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.completion-stage-counts dd { font-weight: 900; margin: 0; }
.completion-list, .ranked-list, .mobile-report-list { display: grid; gap: .7rem; }
.completion-card, .ranked-card, .report-row-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    min-width: 0;
    padding: .9rem;
}
.completion-card { align-items: flex-start; display: flex; gap: .8rem; justify-content: space-between; }
.completion-card > div { min-width: 0; }
.completion-card h2, .ranked-card h2, .ranked-card h3 { font-size: 1rem; margin: 0; overflow-wrap: anywhere; }
.completion-card p { color: var(--muted); font-size: .82rem; margin: .3rem 0 0; overflow-wrap: anywhere; }
.completion-card .recorded-reason, .recorded-reason { color: var(--ink); font-weight: 700; }

.report-summary-card { margin-block: 1rem; }
.report-summary-card > h2 { margin-block-start: 0; }
.report-summary-list { margin: 0; }
.report-summary-list > div { align-items: baseline; border-block-end: 1px solid var(--line); display: flex; gap: 1rem; justify-content: space-between; padding-block: .65rem; }
.report-summary-list > div:last-child { border: 0; }
.report-summary-list dd { font-weight: 900; margin: 0; text-align: end; }
.report-toolbar { align-items: center; display: flex; gap: .75rem; justify-content: space-between; margin-block: 1.25rem .75rem; }
.report-toolbar h2, .report-toolbar p { margin: 0; }
.report-toolbar .button { min-height: 44px; padding: .55rem .75rem; white-space: nowrap; }

.report-row-heading { align-items: flex-start; display: flex; gap: .8rem; justify-content: space-between; }
.report-row-heading > div { display: flex; flex-direction: column; min-width: 0; }
.report-row-heading strong, .report-row-heading span { overflow-wrap: anywhere; }
.report-row-heading > strong { flex: 0 0 auto; text-align: end; }
.report-row-card > p { color: var(--muted); font-size: .85rem; margin: .45rem 0 0; overflow-wrap: anywhere; }
.mini-metrics { display: grid; gap: .4rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: .75rem 0 0; }
.mini-metrics > div { background: var(--canvas); border-radius: 9px; min-width: 0; padding: .45rem .2rem; text-align: center; }
.mini-metrics dt { color: var(--muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.mini-metrics dd { font-weight: 900; margin: 0; overflow-wrap: anywhere; }
.two-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.exception-text { background: var(--warning-bg); border-radius: 9px; color: var(--warning-ink) !important; font-weight: 750; padding: .55rem; }
.discrepancy-card { border-color: #d8ae55; }

.desktop-report-table { display: none; }
.desktop-report-table table { border-collapse: collapse; width: 100%; }
.desktop-report-table th, .desktop-report-table td { border-block-end: 1px solid var(--line); padding: .75rem; text-align: start; vertical-align: top; }
.desktop-report-table th { color: var(--muted); font-size: .75rem; text-transform: uppercase; }
.desktop-report-table .numeric { text-align: end; }
.desktop-report-table td small { display: block; }
.empty-state { color: var(--muted); text-align: center; }
.empty-state h2 { color: var(--ink); }

.ranked-card { align-items: center; color: var(--ink); display: flex; gap: 1rem; justify-content: space-between; text-decoration: none; }
.ranked-card > div { min-width: 0; }
.ranked-card span { color: var(--muted); display: block; font-size: .8rem; margin-block-start: .25rem; overflow-wrap: anywhere; }
.ranked-card .status-badge { display: inline-block; }
.ranked-value { display: flex; flex: 0 1 auto; flex-direction: column; text-align: end; }
.ranked-value strong { overflow-wrap: anywhere; }
.compact-ranked .ranked-card { padding: .75rem; }
.selectable-card > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.selectable-card small { color: var(--muted); font-size: .78rem; font-weight: 650; }

.report-section { margin-block-start: 1.5rem; }
.trend-list { display: grid; gap: .45rem; }
.trend-list a { align-items: center; color: var(--ink); display: grid; gap: .55rem; grid-template-columns: 48px minmax(40px, 1fr) auto; min-height: 42px; text-decoration: none; }
.trend-track { background: #dce8e3; border-radius: 999px; height: 10px; overflow: hidden; }
.trend-track i { background: var(--primary); display: block; height: 100%; min-width: 2px; }
.trend-list strong { font-size: .78rem; text-align: end; }
.desktop-split { display: grid; gap: 1rem; margin-block-start: 1.5rem; }

/* Multi-order-cycle workflow */
.cycle-grid, .kitchen-cycle-section { display: grid; gap: .8rem; }
.cycle-grid { margin-block-end: 1rem; }
.cycle-card { display: grid; gap: .75rem; min-width: 0; }
.cycle-card-heading, .daily-sales-card, .cycle-card-tomorrow {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}
.cycle-card h3, .cycle-card p { margin: 0; overflow-wrap: anywhere; }
.cycle-status-list { margin: 0; }
.cycle-status-list > div { border-block-end: 1px solid var(--line); display: flex; justify-content: space-between; padding-block: .45rem; }
.cycle-status-list > div:last-child { border: 0; }
.cycle-status-list dt { color: var(--muted); }
.cycle-status-list dd { font-weight: 850; margin: 0; text-align: end; }
.cycle-actions { display: grid; gap: .5rem; }
.cycle-actions .button { width: 100%; }
.cycle-freeze-note { color: var(--muted); display: block; font-size: .78rem; font-weight: 900; padding-block: .35rem; text-align: center; }
.daily-sales-card { align-items: flex-start; flex-wrap: wrap; margin-block: 1rem; }
.daily-sales-card > div { flex: 1 1 220px; min-width: 0; }
.daily-sales-card h2, .daily-sales-card p { margin-block: .2rem 0; }
.tomorrow-section { margin-block-start: 1.5rem; }
.tomorrow-for-date { color: var(--primary-dark); font-size: .78rem; font-weight: 900; letter-spacing: .04em; white-space: nowrap; }
.kitchen-cycle-section { margin-block-start: 1.5rem; }
.kitchen-cycle-section .section-heading { margin-block-end: 0; }
.chef-branch-copy h3 { margin: 0; overflow-wrap: anywhere; }

@media (min-width: 760px) {
    .management-shell { padding-block-end: 3rem; }
    .management-tabs {
        border: 1px solid var(--line);
        border-radius: 14px;
        box-shadow: none;
        margin: 0 auto 1.25rem;
        max-width: 720px;
        padding-block-end: 0;
        position: static;
    }
    .management-tabs a { font-size: .78rem; padding-inline: .75rem; }
    .owner-dashboard-header { margin-block-start: .5rem; }
    .owner-kpis { grid-template-columns: 2fr 1fr 1fr; }
    .owner-kpi-value { grid-column: auto; min-height: 120px; }
    .owner-kpi-value > strong { font-size: clamp(2.5rem, 5vw, 3.5rem); }
    .owner-ranking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-range-filter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
    .report-range-filter .button { grid-column: auto; }
    .report-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .report-kpi-primary { grid-column: auto; min-height: 120px; }
    .report-kpi-primary > strong { font-size: clamp(1.8rem, 3vw, 2.5rem); }
    .desktop-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mobile-report-list { display: none; }
    .desktop-report-table { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; display: block; overflow: hidden; }
    .cycle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cycle-actions { margin-block-start: auto; }
}

@media (max-width: 390px) {
    .report-kpi { padding: .75rem; }
    .report-row-heading { flex-direction: column; gap: .3rem; }
    .report-row-heading > strong { text-align: start; }
    .ranked-card { align-items: flex-start; flex-direction: column; }
    .ranked-value { text-align: start; }
    .cycle-card-heading, .cycle-card-tomorrow, .daily-sales-card { align-items: stretch; flex-direction: column; }
    .cycle-card-tomorrow .button, .daily-sales-card .button { width: 100%; }
}
