/* BuildStudio Order workspace system. Legacy headers are not reused. */
:root { --app-green:#7c9845; --app-green-light:#91ac59; --app-gold:#d6ac48; --app-ink:#35462e; --app-muted:#7c8773; --app-line:#e3e8da; --app-paper:#f5f7ef; --app-white:#fff; --app-shadow:0 8px 28px rgb(53 70 46 / 4%); }
html body.bs-admin.bs-app { margin:0; background:var(--app-paper)!important; color:var(--app-ink); font-family:var(--bs-ui-font)!important; }
.bs-app *, .bs-app *::before, .bs-app *::after { box-sizing:border-box; }
.bs-app .app-frame { display:grid; grid-template-columns:238px minmax(0,1fr); min-height:100dvh; }
.bs-app .app-sidebar { position:sticky; top:0; display:flex; flex-direction:column; height:100dvh; padding:22px 14px 18px; background:#fff; border-right:1px solid var(--app-line); }
.bs-app a.app-brand { display:block; width:210px; max-width:100%; margin:0 auto 26px; background:#fff; text-decoration:none; }
.bs-app .app-brand img { display:block; width:100%; height:58px; object-fit:cover; }
.bs-app .app-nav-label { margin:0 16px 14px; font-size:12px!important; font-weight:500; letter-spacing:.07em; color:#8b947e; }
.bs-app nav.app-navigation { display:flex; flex-direction:column; gap:6px; }
.bs-app .app-navigation a { position:relative; display:flex; align-items:center; gap:12px; min-height:48px; padding:12px 16px; border:1px solid transparent; border-radius:11px; color:#69745e!important; text-decoration:none!important; font-size:15px; font-weight:500; line-height:1.5; transition:background-color 150ms ease,box-shadow 150ms ease; }
.bs-app .app-navigation a svg { flex:0 0 20px; width:20px; height:20px; }
.bs-app .app-navigation a span { color:inherit!important; }
.bs-app .app-navigation a[aria-current="page"] { color:#fff!important; background:linear-gradient(115deg,var(--app-green),var(--app-green-light)); font-weight:600; box-shadow:0 5px 12px rgb(94 123 52 / 18%); }
.bs-app .app-navigation a[aria-current="page"]::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:4px; border-radius:0 3px 3px 0; background:#f3d076; }
.bs-app .app-sidebar-bottom { margin-top:auto; padding-top:26px; }
.bs-app .app-account { display:flex; gap:11px; align-items:center; margin:20px 8px 0; padding:18px 4px 0; border-top:1px solid var(--app-line); }
.bs-app .app-avatar { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:10px; background:#eff3e7; color:#728b45; font-family:"BuildStudio EN",sans-serif; font-size:12px; font-weight:600; }
.bs-app .app-account small { display:block; color:var(--app-muted); font-size:12px; line-height:1.5; }
.bs-app .app-account strong { display:block; margin-top:2px; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.bs-app .app-stage { display:flex; flex-direction:column; min-width:0; min-height:100dvh; }
html body.bs-app header.app-topbar { display:flex!important; align-items:center; justify-content:space-between; gap:20px; min-height:78px; padding:15px 36px!important; background:#fff!important; border:0!important; border-bottom:1px solid var(--app-line)!important; color:var(--app-ink)!important; }
.bs-app .app-location { display:flex; align-items:center; gap:13px; min-width:0; font-size:13px; }
.bs-app .app-location > span:first-child { color:#939c88; font-family:"BuildStudio EN",sans-serif; white-space:nowrap; }
.bs-app .app-location-divider { color:#ccd3c1; }
html body.bs-app header.app-topbar .app-location strong { display:inline; width:auto; height:auto; background:none; font-size:14px; font-weight:500; color:#62734f; border:0; white-space:nowrap; }
.bs-app .app-location strong::before { display:none!important; }
.bs-app .app-mobile-menu { display:none; }
html body.bs-app main.app-content { flex:1; width:100%; min-width:0; max-width:1460px!important; margin:0 auto!important; padding:34px 36px 42px!important; }
html body.bs-app main.app-content > h1 { margin:0 0 28px; color:#354a2c!important; font-size:28px!important; font-weight:600!important; line-height:1.35!important; letter-spacing:.025em; }
html body.bs-app main.app-content h2 { margin:28px 0 16px; font-size:18px!important; font-weight:600!important; line-height:1.45!important; color:#495b39; }
.bs-app .app-content > p { color:#7c8771; font-size:14px!important; }
.bs-app .app-content :is(.panel,.bs-kitchen-card,.bs-staff-card) { background:#fff; border:1px solid var(--app-line); border-radius:15px; box-shadow:var(--app-shadow); overflow:hidden; }
.bs-app .app-content .panel { margin:20px 0; padding:22px; }
.bs-app .app-content .panel:has(>table) { padding:0; overflow-x:auto; }
.bs-app .app-content .panel:first-child { margin-top:0; }
html body.bs-app .app-content :is(.bs-filters,.bs-kitchen-filter) { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; margin:0 0 12px; padding:22px; background:#fff; border:1px solid var(--app-line); border-radius:15px; box-shadow:var(--app-shadow); }
.bs-app .app-content > form[method="get"]:not(.bs-filters):not(.bs-kitchen-filter) { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; background:#fff; padding:22px; border:1px solid var(--app-line); border-radius:15px; }
.bs-app .app-content :is(.bs-filters,.bs-kitchen-filter) label { flex:1 1 180px; min-width:140px; max-width:340px; }
html body.bs-app .app-content label { display:block; color:#6f7a62; font-size:13px!important; font-weight:500!important; line-height:1.5!important; }
html body.bs-app .app-content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { width:100%; min-height:44px; margin-top:8px; padding:10px 12px; border:1px solid #dce3cf; border-radius:8px; background:#fff; box-shadow:none; color:#43543a; font:inherit; font-family:var(--bs-ui-font)!important; font-size:14px!important; line-height:1.5!important; }
.bs-app .app-content :is(input,textarea)::placeholder { color:#a0a98f; }
.bs-app .app-content :is(input,select,textarea):focus { outline:2px solid #b2c88d; outline-offset:1px; border-color:#91ac59; }
html body.bs-app .app-content button:not(:disabled) { min-height:44px; padding:11px 20px; border:1px solid #91ac59; border-radius:8px; font-size:14px!important; line-height:1.5!important; font-weight:600; cursor:pointer; background:linear-gradient(115deg,var(--app-green),var(--app-green-light)); color:#fff; }
html body.bs-app .app-content button.bs-staff-secondary { color:#697c50!important; background:#f2f6e9!important; border-color:#dce5cd!important; }
.bs-app .app-content button:disabled { cursor:not-allowed; opacity:.55; }
.bs-app .bs-period { margin:14px 2px 18px; text-align:right; color:#97a089!important; font-size:12px!important; }
.bs-app .app-content table { width:100%; border-collapse:collapse; background:#fff; text-align:left; font-size:14px!important; }
.bs-app .app-content :is(th,td) { padding:17px 20px; border-bottom:1px solid #edf0e6; color:#536348; vertical-align:middle; line-height:1.6; }
.bs-app .app-content th { background:#fafbf7!important; color:#859075!important; font-size:12px; font-weight:500; white-space:nowrap; }
.bs-app .app-content tbody tr:last-child td { border-bottom:0; }
.bs-app .app-content td:first-child { color:#43543a; font-weight:500; }
.bs-app .app-content td a { display:inline-block; padding:5px 11px; background:#f0f5e5; color:#738d48; border-radius:6px; text-decoration:none; font-size:13px; font-weight:500; white-space:nowrap; }
.bs-app .app-content td.app-empty { padding:56px 24px; color:#9aa58a!important; text-align:center; font-weight:400; }
.bs-app .app-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:6px; font-size:12px; font-weight:500; white-space:nowrap; }
.bs-app .app-status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.bs-app .app-status.muted { background:#f0f2ec; color:#96a086; }
.bs-app .app-status.pending { background:#fbf3dc; color:#a28134; }
.bs-app .app-status.success { background:#edf4df; color:#77974a; }
.bs-app .app-content .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:18px; margin:22px 0; }
.bs-app .app-content .cards .panel { margin:0; padding:23px; border-top:3px solid #b4c88f; }
.bs-app .app-content .cards .panel:first-child { border-top-color:#d6ac48; }
.bs-app .app-content .cards small { color:#899478; font-size:13px; font-weight:400; }
.bs-app .app-content .number { margin:18px 0 4px; color:#435b30; font-size:30px; font-weight:500; line-height:1.3; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.bs-app .app-content .cards h2 { margin:0 0 16px; }
.bs-app .app-content[data-page="integrations"] .cards .panel p { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:15px 0; border-bottom:1px solid #eef1e7; }
.bs-app .app-content[data-page="integrations"] .cards .panel p:last-child { border-bottom:0; }
.bs-app .app-content[data-page="integrations"] strong { font-size:14px; font-weight:500; color:#647654; }
.bs-app .bs-connection-status { font-size:12px; padding:4px 9px; border-radius:6px; border:0; white-space:nowrap; background:#fbf3dc; color:#a28134; }
.bs-app .app-method { margin:18px 0; color:#8b957d; font-size:13px; }
.bs-app .app-method summary { display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-weight:500; list-style:none; }
.bs-app .app-method summary::before { content:"+"; color:#91a575; }
.bs-app .app-method[open] summary::before { content:"-"; }
.bs-app .app-method > div { margin-top:10px; padding:14px 18px; background:#eff3e6; border-radius:8px; color:#78856a; line-height:1.8; }
.bs-app .bs-pager { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.bs-app .bs-pager a { padding:9px 14px!important; color:#778a5e; font-size:13px; border:1px solid #dce4cd!important; border-radius:8px; background:#fff; text-decoration:none; }
.bs-app .bs-kitchen-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:20px; margin:22px 0; }
html body.bs-app .bs-kitchen-card > header { background:#f6f9ef!important; color:#566d3e!important; border-bottom:1px solid var(--app-line); padding:18px 20px!important; }
html body.bs-app .bs-kitchen-card > header h2 { margin:0!important; font-size:16px!important; }
.bs-app .bs-kitchen-card > header p { margin:6px 0 0; font-size:12px!important; color:#91a078; }
.bs-app .bs-kitchen-line { padding:20px; }
.bs-app .bs-kitchen-line h3 { margin:0 0 14px; font-size:16px!important; }
.bs-app .bs-kitchen-counts { display:flex; flex-wrap:wrap; gap:7px; }
.bs-app .bs-kitchen-counts span { padding:5px 8px; background:#f5f7f0; color:#889675; border-radius:6px; font-size:12px; }
.bs-app .bs-kitchen-actions { margin-top:18px; }
.bs-app .bs-kitchen-actions form { display:flex; align-items:flex-end; gap:12px; }
.bs-app .bs-kitchen-actions label { width:90px; }
.bs-app .bs-kitchen-history { overflow-x:auto; background:#fff; border:1px solid var(--app-line); border-radius:14px; }
.bs-app .bs-staff-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.bs-app .bs-staff-card { padding:23px; border-top:3px solid #b4c88f!important; align-self:start; }
.bs-app .bs-staff-card:first-child { border-top-color:#d6ac48!important; }
.bs-app .bs-staff-card h2 { margin:0 0 18px!important; font-size:18px!important; }
.bs-app .bs-staff-card > p { margin:-8px 0 18px; color:#929d83; font-size:12px!important; overflow-wrap:anywhere; }
.bs-app .bs-staff-card form > label { margin-bottom:16px; }
.bs-app .bs-staff-card fieldset { margin:18px 0; padding:15px; border:1px solid var(--app-line); border-radius:8px; }
.bs-app .bs-staff-card legend { width:auto; padding:0 6px; font-size:12px; color:#849273; }
.bs-app .bs-staff-check { display:flex!important; align-items:center; gap:8px; }
.bs-app .bs-staff-card details { margin:18px 0; padding-top:16px; border-top:1px solid var(--app-line); }
.bs-app .bs-staff-card summary { color:#819366; font-size:13px; cursor:pointer; }
.bs-app .bs-staff-card details form { margin-top:14px; }
.bs-app .bs-delivery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin:22px 0; }
.bs-app .bs-delivery-grid > p:only-child { margin:0; padding:56px 24px; background:#fff; border:1px dashed #d9e2ca; border-radius:14px; text-align:center; color:#98a38a; }
.bs-app .app-footer { padding:0 36px 24px; color:#a4ad98; font-size:11px; letter-spacing:.045em; text-align:right; }
@media (hover:hover) and (pointer:fine) {
  .bs-app .app-navigation a:hover:not([aria-current="page"]) { color:#6d8943!important; background:#f1f5e8; }
  .bs-app .app-content tbody tr:hover td { background:#fafcf5; }
  .bs-app .app-content button:hover:not(:disabled) { box-shadow:0 4px 12px rgb(94 123 52 / 18%); }
  .bs-app .app-content td a:hover { background:#e8f0d7; }
}
.bs-app a:focus-visible, .bs-app summary:focus-visible, .bs-app button:focus-visible { outline:2px solid #b88b2d; outline-offset:3px; }
@media (max-width:1100px) {
  .bs-app .app-frame { grid-template-columns:216px minmax(0,1fr); }
  .bs-app .app-sidebar { padding-left:10px; padding-right:10px; }
  html body.bs-app header.app-topbar { padding:15px 24px!important; }
  html body.bs-app main.app-content { padding:28px 24px!important; }
  .bs-app .app-location > span:first-child,.bs-app .app-location-divider { display:none; }
}
@media (max-width:800px) {
  .bs-app .app-frame { display:block; }
  .bs-app .app-sidebar { display:none; }
  html body.bs-app header.app-topbar { min-height:70px; padding:14px 20px!important; gap:10px; }
  .bs-app .app-mobile-menu { display:block; margin:16px 20px 0; border:1px solid var(--app-line); border-radius:11px; background:#fff; }
  .bs-app .app-mobile-menu > summary { display:flex; justify-content:space-between; padding:12px 16px; color:#71885a; font-size:14px; font-weight:500; cursor:pointer; list-style:none; }
  .bs-app .app-mobile-menu > summary::-webkit-details-marker { display:none; }
  .bs-app .app-mobile-menu[open] > summary { border-bottom:1px solid var(--app-line); }
  .bs-app .app-mobile-menu nav { padding:8px; }
  html body.bs-app main.app-content { padding:24px 20px 32px!important; }
  html body.bs-app main.app-content > h1 { font-size:25px!important; margin-bottom:22px; }
  .bs-app .app-content :is(th,td) { padding:15px 16px; }
  .bs-app .app-content > table { display:block; overflow-x:auto; border:1px solid var(--app-line); border-radius:12px; }
  .bs-app .app-footer { padding-right:20px; }
}
@media (max-width:480px) {
  html body.bs-app header.app-topbar { align-items:flex-start; flex-direction:column; gap:10px; }
  .bs-app .bs-language-picker { align-self:flex-end; }
  .bs-app .app-content .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .bs-app .app-content .cards .panel { padding:17px 14px; }
  .bs-app .app-content .number { font-size:24px; }
  .bs-app .app-content[data-page="integrations"] .cards { grid-template-columns:1fr; }
  .bs-app .bs-staff-grid,.bs-app .bs-kitchen-grid { grid-template-columns:1fr; }
  .bs-app .app-content :is(.bs-filters,.bs-kitchen-filter) { padding:18px; gap:14px; }
  .bs-app .app-content .bs-filters label { max-width:none; flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) { .bs-app .app-navigation a { transition:none; } }
