@charset "UTF-8";
/* Opt-in chrome. UI tokens never replace business brand or status colours.
   The five admin pages also opt in to system-admin-page; other owners retain
   their page layouts. No iframe, ticket, kiosk or print rules live here. */
body.system-studio {
  --studio-ui-accent: #a94232;
  --studio-ui-accent-soft: #ffe8de;
  --studio-ui-accent-edge: #a94232;
  --studio-ui-ring: #a94232;
  --studio-ui-action-bg: #cf4936;
  --studio-ui-action-ink: #fff;
  color-scheme: light;
}
body.system-studio .system-studio-nav {
  background: #fffdf7; color: #29312f; border-bottom: 1px solid #dddcd3;
  font: 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei",sans-serif;
}
body.system-studio .system-studio-nav-inner {
  max-width: 1440px; margin: auto; padding: 12px 20px; display: flex;
  gap: 12px; align-items: center; flex-wrap: wrap;
}
body.system-studio .system-studio-nav nav { display: flex; flex: 1; gap: 4px; flex-wrap: wrap; min-width: 0; }
body.system-studio .system-studio-nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px;
  color: #455347; text-decoration: none; border: 1px solid transparent; border-radius: 8px;
  box-sizing: border-box; font: inherit; white-space: nowrap;
}
body.system-studio .system-studio-nav a:hover { background: #f2eee4; }
body.system-studio .system-studio-nav a[aria-current="page"] {
  color: var(--studio-ui-accent); background: var(--studio-ui-accent-soft);
  border-color: var(--studio-ui-accent-edge); font-weight: 750; box-shadow: inset 0 -2px currentColor;
}
body.system-studio .system-studio-command {
  min-height: 44px; padding: 9px 16px; border: 1px solid var(--studio-ui-accent-edge);
  border-radius: 10px; background: var(--studio-ui-action-bg); color: var(--studio-ui-action-ink);
  font: inherit; font-weight: 700; cursor: pointer; box-shadow: none;
}
body.system-studio .system-studio-nav-feedback { flex-basis: 100%; }
body.system-studio .system-studio-nav :focus-visible,
body.system-studio .system-studio-appearance > summary:focus-visible,
body.system-studio .system-page-jumps a:focus-visible {
  outline: 3px solid var(--studio-ui-ring); outline-offset: 3px;
}
body.system-studio .system-studio-appearance {
  margin: 24px auto 40px; width: calc(100% - 40px); max-width: 1280px;
  padding: 14px 18px; border: 1px solid #dddcd3; border-radius: 12px;
  background: #fffdf7; color: #455347; box-sizing: border-box;
  font: 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei",sans-serif;
}
body.system-studio .system-studio-appearance > summary { cursor: pointer; min-height: 32px; }
body.system-studio .system-studio-appearance > #studioPalette { margin-top: 20px; }
/* Shared readable foundation, deliberately restricted to the five owned pages. */
body.system-studio.system-admin-page {
  background: #f7f4ed; color: #29312f; min-width: 0;
  font: 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;
}
body.system-studio.system-admin-page > header {
  position: static; background: #fffdf7; border-bottom: 1px solid #e3dfd4; box-shadow: none;
}
body.system-studio.system-admin-page .headerInner { max-width: 1440px; padding: 16px 24px; gap: 14px; flex-wrap: wrap; }
body.system-studio.system-admin-page .headerBrand { min-width: 0; flex-wrap: wrap; }
body.system-studio.system-admin-page header h1 { color: #29312f; font-size: 21px; line-height: 1.4; }
body.system-studio.system-admin-page header a {
  color: #52604f; background: #f7f4ed; border-color: #dddcd3;
  font-size: 16px; padding: 8px 12px; border-radius: 7px;
}
body.system-studio.system-admin-page header a:hover { color: #29312f; background: #ede9de; transform: none; }
body.system-studio.system-admin-page .wrap { max-width: 1440px; margin: 20px auto 32px; padding: 0 24px; }
body.system-studio.system-admin-page .card {
  border: 1px solid #dddcd3; border-radius: 10px; background: #fff;
  box-shadow: none; padding: 22px; margin-bottom: 22px; min-width: 0;
}
body.system-studio.system-admin-page .card h2 { font-size: 20px; color: #29312f; line-height: 1.5; flex-wrap: wrap; }
body.system-studio.system-admin-page .card h2::before { background: var(--studio-ui-accent); box-shadow: none; }
body.system-studio.system-admin-page #loginCard { margin: 32px auto; max-width: 540px; padding: 28px; }
body.system-studio.system-admin-page #loginCard::after { content: none; }
body.system-studio.system-admin-page .evbar {
  background: #fffdf7; color: #29312f; border: 1px solid #dddcd3;
  border-left: 4px solid var(--studio-ui-accent-edge); border-radius: 8px; box-shadow: none; padding: 14px 18px;
}
body.system-studio.system-admin-page .evbar .muted { color: #596153; }
body.system-studio.system-admin-page .evbar select { border-color: #b9c0b3; max-width: 100%; }
body.system-studio.system-admin-page .row { gap: 10px; }
body.system-studio.system-admin-page :is(input, select, textarea, button) { font-size: 16px; font-family: inherit; }
body.system-studio.system-admin-page :is(input:not([type="checkbox"]):not([type="radio"]), select, button) { min-height: 44px; }
body.system-studio.system-admin-page :is(input, select, textarea) { max-width: 100%; }
body.system-studio.system-admin-page :is(input, select, textarea, button, a, summary):focus-visible {
  outline: 3px solid var(--studio-ui-ring); outline-offset: 3px;
}
body.system-studio.system-admin-page button { box-shadow: none; }
body.system-studio.system-admin-page button:disabled { cursor: not-allowed; opacity: .6; transform: none; }
body.system-studio.system-admin-page :is(.muted, label, .box label, .checklist li, .reportRow b, .stat small, .layerFilters .title) { font-size: 16px !important; }
body.system-studio.system-admin-page .muted { color: #596153; }
body.system-studio.system-admin-page table { font-size: 16px; }
body.system-studio.system-admin-page :is(th, td) { padding: 12px; }
body.system-studio.system-admin-page th { font-size: 16px; background: #f5f3ec; }
body.system-studio.system-admin-page .system-page-jumps { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 18px; }
body.system-studio.system-admin-page .system-page-jumps a { color: var(--studio-ui-accent); text-underline-offset: 5px; padding: 6px 0; }
body.system-studio.system-admin-page .system-section-note { margin: -2px 0 16px; color: #596153; }
/* Customers: source register, filter toolbar, wide master table. */
body.system-studio[data-system-page="customers"] .syncNote { background: #fffdf7; border-color: #d7d5c8; font-size: 16px; }
body.system-studio[data-system-page="customers"] #datasetCard { border-radius: 0; border-width: 1px 0; background: transparent; padding-inline: 0; }
body.system-studio[data-system-page="customers"] .datasetGrid { grid-template-columns: repeat(auto-fit,minmax(270px,1fr)); gap: 0 20px; }
body.system-studio[data-system-page="customers"] .datasetItem { background: transparent; border: 0; border-bottom: 1px solid #d8dbd0; border-radius: 0; padding: 14px 4px; }
body.system-studio[data-system-page="customers"] .layerFilters { background: #f5f3ec; border-color: #dddcd3; padding: 16px; }
body.system-studio[data-system-page="customers"] #cdbBox { max-height: 65vh; margin-top: 16px; border-radius: 4px; }
/* Settings: two editorial columns of labelled configuration sections. */
body.system-studio[data-system-page="config"] .grid2 { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 28px; }
body.system-studio[data-system-page="config"] .box { background: #fff; border-radius: 6px; padding: 22px; border-color: #dddcd3; }
body.system-studio[data-system-page="config"] .box h3 { font-size: 19px; color: #29312f; }
body.system-studio[data-system-page="config"] .box h3::before { background: var(--studio-ui-accent); }
body.system-studio[data-system-page="config"] .box label { margin-top: 14px; }
body.system-studio[data-system-page="config"] .featGrid { grid-template-columns: repeat(auto-fit,minmax(205px,1fr)); }
body.system-studio[data-system-page="config"] .saveBar { border-radius: 6px; background: #fffdf7; border-color: #d7d5c8; border-top: 3px solid #a8b09e; }
body.system-studio[data-system-page="config"] .editRow { flex-wrap: wrap; padding-block: 6px; border-bottom: 1px solid #edece5; }
body.system-studio[data-system-page="config"] .editRow input { min-width: 100px; }
body.system-studio[data-system-page="config"] .editRow .del { width: 44px; min-width: 44px; }
body.system-studio[data-system-page="config"] .chip button { width: 44px; height: 44px; min-width: 44px; }
/* Team: a focused import workbench with operational instructions alongside. */
body.system-studio[data-system-page="team"] #main { display: grid; grid-template-columns: minmax(230px,1fr) minmax(0,2.5fr); gap: 20px 28px; align-items: start; }
body.system-studio[data-system-page="team"] .evbar { grid-column: 1 / -1; margin: 0; }
body.system-studio[data-system-page="team"] .checklist { background: transparent; border: 0; border-left: 3px solid #d2b588; border-radius: 0; padding: 8px 18px; }
body.system-studio[data-system-page="team"] .checklist li { margin-bottom: 16px; }
body.system-studio[data-system-page="team"] .groupRowsBox { padding: 18px; background: #fffdf7; border-radius: 6px; }
body.system-studio[data-system-page="team"] .groupRowsBox summary { font-size: 18px; }
body.system-studio[data-system-page="team"] #grpRows { width: 100%; min-height: 210px; font-size: 17px; }
body.system-studio[data-system-page="team"] #grpPreview { overflow: auto; }
/* Analysis: import sheet, live statistic strip, report catalogue rows. */
body.system-studio[data-system-page="analysis"] #importCard { border-top: 3px solid #a8b09e; }
body.system-studio[data-system-page="analysis"] #statCard { background: transparent; border: 0; padding: 12px 0; }
body.system-studio[data-system-page="analysis"] .stats { gap: 0; border-block: 1px solid #d7d5c8; }
body.system-studio[data-system-page="analysis"] .stat { border-radius: 0; border: 0; border-right: 1px solid #d7d5c8; background: transparent; padding: 22px 12px; }
body.system-studio[data-system-page="analysis"] .reportRow { background: transparent; border: 0; border-top: 1px solid #dddcd3; border-radius: 0; padding: 20px 0; }
body.system-studio[data-system-page="analysis"] .reportRow b { min-width: 165px; }
/* Exports: subscription settings are distinct from the wide link/export desk. */
body.system-studio[data-system-page="exports"] #reportCard { background: #fffdf7; border-left: 4px solid #c0ad87; overflow-wrap: anywhere; }
body.system-studio[data-system-page="exports"] #repTo { min-width: 0 !important; flex-basis: 100% !important; }
body.system-studio[data-system-page="exports"] #exportCard { border-radius: 4px; }
body.system-studio[data-system-page="exports"] #linkBox { max-height: 65vh; border-radius: 4px; margin-top: 20px; }
body.system-studio[data-system-page="exports"] #linkBox table { min-width: 860px; }
body.system-studio[data-system-page="exports"] #linkRows a { font-size: 16px !important; }
@media (min-width: 1200px) {
  body.system-studio[data-system-page="exports"] #main { display: grid; grid-template-columns: minmax(300px,1fr) minmax(0,2.4fr); gap: 22px; align-items: start; }
  body.system-studio[data-system-page="exports"] #main > :is(.evbar, .system-page-jumps) { grid-column: 1 / -1; margin-bottom: 0; }
}
@media (max-width: 800px) {
  body.system-studio .system-studio-nav-inner { padding: 10px 12px; gap: 8px; }
  body.system-studio .system-studio-nav nav { flex-basis: 100%; }
  body.system-studio .system-studio-nav a { padding: 8px 10px; }
  body.system-studio.system-admin-page .headerInner { padding: 14px; }
  body.system-studio.system-admin-page header nav { justify-content: flex-start; }
  body.system-studio.system-admin-page header h1 { font-size: 19px; }
  body.system-studio.system-admin-page .wrap { padding: 0 12px; margin-top: 14px; }
  body.system-studio.system-admin-page .card { padding: 18px 14px; }
  body.system-studio.system-admin-page .row > :is(input:not([type="checkbox"]):not([type="radio"]), select) { min-width: 0 !important; max-width: 100%; }
  body.system-studio.system-admin-page .evbar select { width: 100%; }
  body.system-studio.system-admin-page .row > label { white-space: normal !important; max-width: 100%; }
  body.system-studio[data-system-page="customers"] .datasetGrid { grid-template-columns: minmax(0,1fr); }
  body.system-studio[data-system-page="config"] .grid2,
  body.system-studio[data-system-page="team"] #main { grid-template-columns: minmax(0,1fr); }
  body.system-studio[data-system-page="config"] .box { padding: 18px 14px; }
  body.system-studio[data-system-page="team"] .checklist li { margin-bottom: 8px; }
  body.system-studio .system-studio-appearance { width: calc(100% - 24px); padding: 14px; }
}
/* Visibility gates always win over grid/flex rules, including inline displays. */
body.system-studio.hidden,
body.system-studio[hidden],
body.system-studio .hidden,
body.system-studio [hidden] { display: none !important; }
