.restaurant-accounting { padding:var(--space-4); color:var(--color-text); min-width:0; }
.restaurant-accounting h1 { margin:0; font-size:var(--text-xl); font-weight:500; }
.restaurant-accounting h2,.restaurant-accounting h3 { margin:0; font-size:var(--text-md); font-weight:500; }
.restaurant-accounting-header,.restaurant-accounting-header>div,.restaurant-accounting-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-3); }
.restaurant-accounting-header { justify-content:space-between; margin-bottom:var(--space-3); }
.restaurant-accounting-toolbar { margin-bottom:var(--space-3); }
.restaurant-accounting-toolbar>.field:not(.restaurant-search) { width:150px; }
.restaurant-accounting-toolbar>.select { width:auto; }
.restaurant-search { display:flex; align-items:center; position:relative; flex:1; min-width:200px; }
.restaurant-search>svg { position:absolute; left:var(--space-3); }
.restaurant-search>.input { padding-left:38px; }
.restaurant-accounting-layout { display:grid; gap:var(--space-3); }
.restaurant-accounting-layout.has-detail { grid-template-columns:minmax(0,1fr) minmax(330px,35%); }
.restaurant-accounting-table { overflow:auto; min-width:0; }
.restaurant-accounting-table table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.restaurant-accounting-table th,.restaurant-accounting-table td { padding:var(--space-3); text-align:left; border-bottom:1px solid var(--color-border); vertical-align:top; }
.restaurant-accounting-table th { position:sticky; top:0; background:var(--color-surface); font-weight:500; white-space:nowrap; }
.restaurant-accounting-table tbody tr[tabindex] { cursor:pointer; }
.restaurant-accounting-table tr[aria-selected=true] { background:var(--color-primary-soft); }
.restaurant-accounting-table strong,.restaurant-accounting-table small { display:block; }
.restaurant-accounting-table small { color:var(--color-text-muted); margin-top:4px; }
.restaurant-accounting-detail { border:1px solid var(--color-border); border-radius:var(--radius-md); padding:var(--space-4); min-width:0; }
.restaurant-accounting-detail header { display:flex; justify-content:space-between; align-items:center; gap:var(--space-3); }
.restaurant-accounting-detail dl { display:grid; grid-template-columns:1fr auto; gap:var(--space-2); }
.restaurant-accounting-detail dd { margin:0; font-variant-numeric:tabular-nums; }
.restaurant-accounting-detail>.btn { margin:4px 8px 4px 0; }
.restaurant-statement-controls { display:flex; flex-wrap:wrap; align-items:end; gap:var(--space-2); margin-bottom:var(--space-3); }
.restaurant-statement-controls .field { min-width:120px; flex:1; }
.restaurant-operation-summary { display:flex; flex-wrap:wrap; gap:var(--space-4); padding:var(--space-3) 0; border-top:1px solid var(--color-border); font-variant-numeric:tabular-nums; }
.restaurant-operation-summary span { display:grid; gap:4px; flex:1; min-width:120px; color:var(--color-text-muted); }
.restaurant-operation-summary strong { color:var(--color-text); font-weight:500; }
.restaurant-accounting-dialog { width:min(100%,900px); }
.restaurant-purchase-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); margin:0; padding:0; border:0; }
.restaurant-wide { grid-column:1/-1; min-width:0; }
.restaurant-wide small { display:block; color:var(--color-text-muted); }
.restaurant-purchase-lines { display:grid; gap:var(--space-3); }
.restaurant-purchase-line { display:grid; grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(120px,1fr) 44px; gap:var(--space-2); align-items:end; }
.restaurant-confirm { display:flex; gap:var(--space-2); align-items:center; min-height:44px; margin-top:var(--space-2); }
.restaurant-confirm input { flex-shrink:0; width:20px; height:20px; }
.restaurant-dialog-actions { display:flex; gap:var(--space-2); flex-wrap:wrap; }
.restaurant-correction-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:var(--space-4); min-height:54px; }
.restaurant-correction-modes button { white-space:normal; min-width:0; min-height:48px; height:auto; }
.restaurant-correction-preview { margin-top:var(--space-4); }
.restaurant-accounting-dialog .btn-primary { min-height:52px; }
.restaurant-purchase-start { display:flex; justify-content:flex-end; margin-bottom:var(--space-3); }
.restaurant-accounting>.api-procurement-screen { padding:0; }
.restaurant-finance-dialog { width:min(100%,1200px); }
.restaurant-finance-detail-only .finance-toolbar,.restaurant-finance-detail-only .finance-summary,.restaurant-finance-detail-only .finance-list { display:none; }
.restaurant-finance-detail-only .finance-layout { grid-template-columns:1fr; }
@media(max-width:900px) {
 .restaurant-accounting { padding:var(--space-3); }
 .restaurant-accounting-layout.has-detail { grid-template-columns:1fr; }
 .restaurant-accounting-detail { order:-1; }
 .restaurant-accounting-table table { min-width:650px; }
 .restaurant-accounting-detail .restaurant-accounting-table table { min-width:300px; }
 .restaurant-purchase-line { grid-template-columns:1fr 1fr 44px; }
 .restaurant-purchase-line>.field:first-child { grid-column:1/-1; }
 .restaurant-accounting-dialog .restaurant-accounting-table table { min-width:480px; }
}
@media(max-width:500px) {
 .restaurant-accounting-header>div { gap:var(--space-2); width:100%; }
 .restaurant-accounting-header .segmented { width:100%; }
 .restaurant-accounting-toolbar>.field:not(.restaurant-search) { width:calc(50% - 8px); }
 .restaurant-accounting-toolbar>.btn,.restaurant-search { flex:1 1 100%; }
 .restaurant-purchase-form { grid-template-columns:1fr; }
 .restaurant-correction-modes { grid-template-columns:1fr 1fr; min-height:102px; }
 .restaurant-correction-modes button:last-child { grid-column:1/-1; }
 .restaurant-accounting-dialog .restaurant-operation-summary { gap:var(--space-3); }
}
@media(max-width:600px) {
 .restaurant-accounting-dialog .restaurant-accounting-table table { min-width:0; }
 .restaurant-accounting-dialog .restaurant-accounting-table thead { display:none; }
 .restaurant-accounting-dialog .restaurant-accounting-table tbody { display:block; }
 .restaurant-accounting-dialog .restaurant-accounting-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-2); padding:var(--space-3) 0; border-bottom:1px solid var(--color-border); }
 .restaurant-accounting-dialog .restaurant-accounting-table td { display:block; min-width:0; padding:0; border:0; }
 .restaurant-accounting-dialog .restaurant-accounting-table td:first-child { grid-column:1/-1; font-weight:500; }
 .restaurant-accounting-dialog .restaurant-accounting-table td[data-label]:before { display:block; content:attr(data-label); font-size:var(--text-sm); color:var(--color-text-muted); margin-bottom:var(--space-2); }
 .restaurant-accounting-dialog .restaurant-accounting-table input { width:100%; min-width:0; }
}
