
:root {
  --navy-950: #07111f;
  --navy-900: #0b1728;
  --navy-850: #102037;
  --navy-800: #132842;
  --ink-950: #111827;
  --ink-800: #24324a;
  --ink-700: #3d4d66;
  --ink-600: #5f6f86;
  --ink-500: #74839a;
  --ink-400: #98a5b8;
  --line: #e4e9f1;
  --line-strong: #d6dde8;
  --surface: #ffffff;
  --surface-soft: #f7f9fc;
  --surface-tint: #f2f6fb;
  --blue: #2563eb;
  --blue-700: #1d4ed8;
  --blue-soft: #eaf1ff;
  --cyan: #0891b2;
  --cyan-soft: #e7f8fc;
  --green: #0f9f6e;
  --green-soft: #e8f8f2;
  --amber: #d97706;
  --amber-soft: #fff5dd;
  --red: #dc2626;
  --red-soft: #fff0f0;
  --purple: #7c3aed;
  --purple-soft: #f2edff;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .04);
  --shadow-md: 0 12px 28px rgba(15, 23, 42, .10), 0 2px 8px rgba(15, 23, 42, .05);
  --shadow-lg: 0 24px 60px rgba(7, 17, 31, .22);
  --radius: 14px;
  --radius-lg: 20px;
  --sidebar: 268px;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink-950);
  background: var(--surface-soft);
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
svg { display: block; }
.hidden { display: none !important; }
.prototype-tag, .demo-divider, .demo-buttons, .demo-note, .demo-badge, .role-switch { display: none !important; }
.muted { color: var(--ink-600); }
.subtle { color: var(--ink-500); }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-danger { color: var(--red); }
.text-success { color: var(--green); }
.text-warning { color: var(--amber); }
.text-blue { color: var(--blue); }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.nowrap { white-space: nowrap; }

.icon { width: 18px; height: 18px; flex: 0 0 auto; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.icon-sm { width: 15px; height: 15px; }
.icon-lg { width: 22px; height: 22px; }

/* Login */
.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(440px, 1.2fr) minmax(420px, .8fr);
  background: #fff;
}
.login-hero {
  position: relative;
  overflow: hidden;
  padding: 54px clamp(44px, 6vw, 92px);
  color: #fff;
  background:
    radial-gradient(circle at 78% 20%, rgba(52, 211, 153, .18), transparent 28%),
    radial-gradient(circle at 20% 76%, rgba(96, 165, 250, .18), transparent 30%),
    linear-gradient(138deg, #07111f 0%, #0f2843 58%, #0e3c4b 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.login-hero::before,
.login-hero::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
}
.login-hero::before { width: 560px; height: 560px; right: -190px; top: -170px; }
.login-hero::after { width: 360px; height: 360px; left: -160px; bottom: -170px; }
.login-brand { display: flex; align-items: center; gap: 13px; position: relative; z-index: 1; }
.brand-mark {
  width: 43px; height: 43px; border-radius: 13px;
  display: grid; place-items: center;
  font-weight: 900; letter-spacing: -.5px; font-size: 17px;
  color: white;
  background: linear-gradient(145deg, #2dd4bf, #2563eb);
  box-shadow: 0 10px 30px rgba(37,99,235,.25);
}
.brand-copy strong { display: block; font-size: 17px; letter-spacing: .02em; }
.brand-copy span { color: rgba(255,255,255,.62); font-size: 12px; }
.login-hero-content { position: relative; z-index: 1; max-width: 760px; padding: 70px 0 44px; }
.login-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 11px; border-radius: 999px;
  color: #d9fff5; background: rgba(45,212,191,.12); border: 1px solid rgba(45,212,191,.25);
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.login-hero h1 { font-size: clamp(36px, 4.3vw, 64px); line-height: 1.05; letter-spacing: -.045em; margin: 22px 0 18px; max-width: 780px; }
.login-hero p { max-width: 680px; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.7; margin: 0; }
.flow-row { margin-top: 38px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.flow-node { padding: 9px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(255,255,255,.06); font-size: 12px; font-weight: 650; }
.flow-arrow { color: rgba(255,255,255,.35); }
.login-stat-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.login-stat { padding: 16px; border-radius: 14px; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.11); backdrop-filter: blur(6px); }
.login-stat strong { display: block; font-size: 22px; letter-spacing: -.025em; }
.login-stat span { display: block; margin-top: 2px; color: rgba(255,255,255,.6); font-size: 12px; }
.login-panel { padding: 42px clamp(42px, 5vw, 76px); display: grid; place-items: center; background: #fbfcfe; }
.login-card { width: min(480px, 100%); }
.login-card .prototype-tag { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 8px; background: var(--purple-soft); color: var(--purple); font-weight: 700; font-size: 12px; }
.login-card h2 { font-size: 30px; line-height: 1.2; margin: 18px 0 8px; letter-spacing: -.025em; }
.login-card > p { margin: 0 0 28px; color: var(--ink-600); }
.form-group { margin-bottom: 17px; }
.form-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; font-size: 12px; font-weight: 750; color: var(--ink-800); }
.form-control, .form-select, .form-textarea {
  width: 100%; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; color: var(--ink-950);
  padding: 11px 12px; outline: none; transition: .18s ease; box-shadow: 0 1px 0 rgba(15,23,42,.02);
}
.form-control:focus, .form-select:focus, .form-textarea:focus { border-color: #7aa6ff; box-shadow: 0 0 0 3px rgba(37,99,235,.10); }
.form-textarea { min-height: 90px; resize: vertical; }
.input-icon-wrap { position: relative; }
.input-icon-wrap .icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--ink-400); }
.input-icon-wrap .form-control { padding-left: 40px; }
.check-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 4px 0 22px; }
.check-label { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-700); font-size: 13px; }
.check-label input { accent-color: var(--blue); }
.login-help { color: var(--blue); font-size: 13px; font-weight: 650; }
.login-btn { width: 100%; justify-content: center; padding: 12px 16px !important; }
.demo-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0 16px; color: var(--ink-400); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.demo-divider::before, .demo-divider::after { content: ""; height: 1px; background: var(--line); flex: 1; }
.demo-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.demo-note { margin-top: 18px; padding: 12px 13px; border-radius: 10px; border: 1px solid #dce8ff; background: #f4f8ff; color: #456187; font-size: 12px; line-height: 1.55; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 36px; padding: 8px 13px; border-radius: 9px;
  border: 1px solid transparent; background: #fff; color: var(--ink-800);
  font-weight: 700; font-size: 13px; transition: .16s ease; box-shadow: none;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary { color: #fff; background: var(--blue); border-color: var(--blue); box-shadow: 0 8px 18px rgba(37,99,235,.18); }
.btn-primary:hover { background: var(--blue-700); }
.btn-secondary { color: var(--ink-800); background: #fff; border-color: var(--line-strong); }
.btn-secondary:hover { border-color: #b7c2d1; background: #fafbfc; }
.btn-soft { color: var(--blue); background: var(--blue-soft); border-color: transparent; }
.btn-success { color: #fff; background: var(--green); border-color: var(--green); }
.btn-danger { color: #fff; background: var(--red); border-color: var(--red); }
.btn-danger-soft { color: var(--red); background: var(--red-soft); border-color: #ffd7d7; }
.btn-warning-soft { color: var(--amber); background: var(--amber-soft); border-color: #ffe5a8; }
.btn-ghost { color: var(--ink-700); background: transparent; border-color: transparent; }
.btn-ghost:hover { background: var(--surface-tint); }
.btn-sm { min-height: 30px; padding: 5px 9px; font-size: 12px; border-radius: 8px; }
.btn-lg { min-height: 44px; padding: 11px 17px; }
.btn-icon { width: 36px; height: 36px; padding: 0; }
.btn-icon.btn-sm { width: 30px; height: 30px; }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* App shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.sidebar {
  position: fixed; inset: 0 auto 0 0; width: var(--sidebar); z-index: 40;
  color: #dce5f2;
  background: linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 100%);
  display: flex; flex-direction: column; overflow: hidden;
}
.sidebar-head { height: 76px; padding: 17px 18px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid rgba(255,255,255,.075); }
.sidebar-head .brand-mark { width: 38px; height: 38px; border-radius: 11px; font-size: 15px; }
.sidebar-brand strong { display: block; font-size: 14px; color: #fff; letter-spacing: .025em; }
.sidebar-brand span { font-size: 10px; color: #7587a3; letter-spacing: .12em; text-transform: uppercase; font-weight: 750; }
.demo-badge { margin-left: auto; padding: 4px 7px; border-radius: 999px; background: rgba(45,212,191,.13); border: 1px solid rgba(45,212,191,.25); color: #7ef3db; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.tenant-box { margin: 12px 12px 2px; padding: 11px 12px; border-radius: 11px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.045); }
.tenant-box small { display: block; color: #6f829f; font-size: 9px; font-weight: 800; letter-spacing: .10em; text-transform: uppercase; }
.tenant-box strong { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; color: #fff; font-size: 12px; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 9px 11px 18px; scrollbar-width: thin; scrollbar-color: #263957 transparent; }
.nav-section { margin-top: 15px; }
.nav-section-label { padding: 0 10px 7px; color: #627590; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.nav-item {
  position: relative; width: 100%; min-height: 41px; margin: 2px 0; padding: 9px 10px;
  display: flex; align-items: center; gap: 11px; border: 0; border-radius: 9px;
  color: #9fb0c7; background: transparent; font-weight: 600; font-size: 12.5px; text-align: left; transition: .15s ease;
}
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(37,99,235,.32), rgba(37,99,235,.13)); }
.nav-item.active::before { content: ""; position: absolute; left: -11px; top: 8px; bottom: 8px; width: 3px; border-radius: 0 4px 4px 0; background: #4f8cff; }
.nav-item .nav-count { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; font-size: 10px; color: #d8e5f8; background: rgba(255,255,255,.09); }
.sidebar-foot { padding: 12px; border-top: 1px solid rgba(255,255,255,.075); }
.user-mini { display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 11px; background: rgba(255,255,255,.04); }
.avatar { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; font-weight: 800; font-size: 12px; color: #fff; background: linear-gradient(145deg, #2563eb, #0f9f6e); }
.user-mini strong { display: block; font-size: 11.5px; color: #fff; }
.user-mini span { display: block; font-size: 10px; color: #70829e; margin-top: 1px; }
.user-mini .btn-ghost { margin-left: auto; color: #7f91aa; padding: 0; width: 28px; height: 28px; }

.main-shell { grid-column: 2; min-width: 0; }
.topbar {
  position: sticky; top: 0; z-index: 30; height: 76px;
  display: flex; align-items: center; gap: 14px; padding: 0 26px;
  background: rgba(255,255,255,.93); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line);
}
.page-ident { min-width: 0; }
.page-ident h1 { margin: 0; font-size: 18px; line-height: 1.25; letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.page-ident p { margin: 2px 0 0; color: var(--ink-500); font-size: 11px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.screen-code { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 7px; background: #f0f3f7; border: 1px solid var(--line); color: var(--ink-600); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.role-switch { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border-radius: 10px; background: #eef2f7; }
.role-switch button { border: 0; padding: 7px 10px; border-radius: 8px; color: var(--ink-600); background: transparent; font-size: 11px; font-weight: 750; }
.role-switch button.active { color: var(--ink-950); background: #fff; box-shadow: var(--shadow-sm); }
.icon-btn-wrap { position: relative; }
.notification-dot { position: absolute; top: 4px; right: 5px; width: 7px; height: 7px; border-radius: 50%; background: var(--red); border: 2px solid #fff; }
.content { padding: 25px 26px 44px; }

/* Page UI */
.page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.page-head h2 { margin: 0; font-size: 24px; line-height: 1.25; letter-spacing: -.028em; }
.page-head p { margin: 6px 0 0; color: var(--ink-600); }
.page-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.breadcrumbs { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--ink-500); font-size: 11px; }
.breadcrumbs button { border: 0; background: transparent; color: var(--blue); padding: 0; font-weight: 650; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card-head { padding: 16px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.card-head h3 { margin: 0; font-size: 14px; letter-spacing: -.01em; }
.card-head p { margin: 3px 0 0; color: var(--ink-500); font-size: 11px; }
.card-body { padding: 18px; }
.card-foot { padding: 13px 18px; border-top: 1px solid var(--line); background: #fbfcfe; border-radius: 0 0 var(--radius) var(--radius); }
.grid { display: grid; gap: 16px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.col-span-2 { grid-column: span 2; }
.col-span-3 { grid-column: span 3; }
.mt-8 { margin-top: 8px; }.mt-12 { margin-top: 12px; }.mt-16 { margin-top: 16px; }.mt-20 { margin-top: 20px; }.mt-24 { margin-top: 24px; }
.mb-0 { margin-bottom: 0; }.mb-8 { margin-bottom: 8px; }.mb-12 { margin-bottom: 12px; }.mb-16 { margin-bottom: 16px; }
.gap-8 { gap: 8px; }.gap-10 { gap: 10px; }.gap-12 { gap: 12px; }
.flex { display: flex; }.items-center { align-items: center; }.items-start { align-items: flex-start; }.justify-between { justify-content: space-between; }.flex-wrap { flex-wrap: wrap; }

.kpi-card { position: relative; overflow: hidden; padding: 17px 18px; min-height: 124px; }
.kpi-card::after { content: ""; position: absolute; width: 90px; height: 90px; border-radius: 50%; right: -35px; top: -36px; background: var(--kpi-soft, #edf3ff); opacity: .75; }
.kpi-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; position: relative; z-index: 1; }
.kpi-label { color: var(--ink-600); font-size: 11px; font-weight: 700; }
.kpi-icon { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--kpi-color, var(--blue)); background: var(--kpi-soft, var(--blue-soft)); }
.kpi-value { margin-top: 11px; font-size: 27px; line-height: 1; font-weight: 800; letter-spacing: -.04em; position: relative; z-index: 1; }
.kpi-foot { margin-top: 8px; display: flex; align-items: center; gap: 6px; color: var(--ink-500); font-size: 10.5px; position: relative; z-index: 1; }
.delta { padding: 2px 5px; border-radius: 5px; font-size: 9px; font-weight: 800; }
.delta.up { color: var(--green); background: var(--green-soft); }
.delta.down { color: var(--red); background: var(--red-soft); }

.badge { display: inline-flex; align-items: center; gap: 5px; min-height: 23px; padding: 3px 8px; border-radius: 999px; font-size: 10px; line-height: 1; font-weight: 750; white-space: nowrap; border: 1px solid transparent; }
.badge-dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.badge-gray { color: #59677d; background: #f1f3f6; border-color: #e2e6ec; }
.badge-blue { color: #2359be; background: #eaf1ff; border-color: #d5e3ff; }
.badge-cyan { color: #087b97; background: #e7f8fc; border-color: #cceff7; }
.badge-green { color: #087d56; background: #e8f8f2; border-color: #cceee2; }
.badge-amber { color: #a85b05; background: #fff5dd; border-color: #ffe3a5; }
.badge-red { color: #c02222; background: #fff0f0; border-color: #ffd5d5; }
.badge-purple { color: #6930c3; background: #f2edff; border-color: #e0d6ff; }
.badge-navy { color: #fff; background: #243650; border-color: #243650; }

.progress-bar { height: 7px; border-radius: 999px; background: #edf0f4; overflow: hidden; }
.progress-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--progress, var(--blue)); }

.table-wrap { overflow: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th { padding: 10px 12px; border-bottom: 1px solid var(--line); color: var(--ink-500); background: #fafbfd; font-size: 9.5px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; text-align: left; white-space: nowrap; }
.data-table td { padding: 12px; border-bottom: 1px solid #edf0f4; vertical-align: middle; }
.data-table tbody tr { transition: .12s ease; }
.data-table tbody tr:hover { background: #f8faff; }
.data-table tbody tr.clickable { cursor: pointer; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.table-primary { font-weight: 750; color: var(--ink-950); }
.table-secondary { margin-top: 2px; color: var(--ink-500); font-size: 10.5px; }
.table-product { display: flex; align-items: center; gap: 9px; }
.product-thumb { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--thumb-a, #2563eb), var(--thumb-b, #0f9f6e)); font-weight: 800; font-size: 10px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }

.toolbar { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 13px; border-bottom: 1px solid var(--line); background: #fcfdff; border-radius: var(--radius) var(--radius) 0 0; }
.toolbar .search-box { flex: 1; min-width: 220px; position: relative; }
.search-box .icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--ink-400); }
.search-box input { width: 100%; min-height: 36px; padding: 8px 10px 8px 35px; border: 1px solid var(--line-strong); border-radius: 9px; outline: none; background: #fff; }
.search-box input:focus { border-color: #7aa6ff; box-shadow: 0 0 0 3px rgba(37,99,235,.08); }
.filter-select { min-height: 36px; padding: 7px 30px 7px 10px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink-700); outline: none; font-size: 12px; }

.stat-list { display: grid; gap: 12px; }
.stat-row { display: flex; align-items: center; gap: 11px; }
.stat-row-icon { width: 33px; height: 33px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: var(--stat-color, var(--blue)); background: var(--stat-soft, var(--blue-soft)); }
.stat-row-main { min-width: 0; flex: 1; }
.stat-row-main strong { display: block; font-size: 12px; }
.stat-row-main span { display: block; margin-top: 2px; color: var(--ink-500); font-size: 10.5px; }
.stat-row-value { font-size: 13px; font-weight: 800; }

.alert { display: flex; align-items: flex-start; gap: 11px; padding: 12px 13px; border-radius: 11px; border: 1px solid; }
.alert .alert-icon { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; }
.alert strong { display: block; font-size: 12px; }
.alert p { margin: 3px 0 0; font-size: 11px; line-height: 1.55; }
.alert-info { border-color: #d5e3ff; background: #f4f8ff; color: #3a5e93; }
.alert-info .alert-icon { background: #e6efff; color: var(--blue); }
.alert-warning { border-color: #ffe2a1; background: #fffaf0; color: #85500c; }
.alert-warning .alert-icon { background: #fff0c9; color: var(--amber); }
.alert-danger { border-color: #ffd2d2; background: #fff7f7; color: #9b2929; }
.alert-danger .alert-icon { background: #ffe7e7; color: var(--red); }
.alert-success { border-color: #c9eddf; background: #f2fbf7; color: #226e55; }
.alert-success .alert-icon { background: #def5ec; color: var(--green); }

.tabs { display: flex; align-items: center; gap: 3px; padding: 4px; border-radius: 10px; background: #eef2f6; width: fit-content; }
.tab-btn { border: 0; padding: 8px 12px; border-radius: 8px; background: transparent; color: var(--ink-600); font-size: 11.5px; font-weight: 700; }
.tab-btn.active { color: var(--ink-950); background: #fff; box-shadow: var(--shadow-sm); }
.tabs-line { display: flex; align-items: center; gap: 20px; overflow-x:auto; white-space:nowrap; border-bottom: 1px solid var(--line); }
.tab-line-btn { position: relative; flex:0 0 auto; border: 0; padding: 13px 2px; background: transparent; color: var(--ink-500); font-size: 12px; font-weight: 700; }
.tab-line-btn.active { color: var(--blue); }
.tab-line-btn.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 2px 2px 0 0; background: var(--blue); }

.timeline { position: relative; margin-left: 6px; }
.timeline::before { content: ""; position: absolute; left: 11px; top: 10px; bottom: 14px; width: 1px; background: var(--line-strong); }
.timeline-item { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 11px; padding: 0 0 17px; }
.timeline-dot { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; z-index: 1; color: #fff; background: var(--blue); box-shadow: 0 0 0 4px #fff; }
.timeline-dot.muted-dot { background: #c6ced9; }
.timeline-content strong { font-size: 11.5px; }
.timeline-content p { margin: 3px 0 0; color: var(--ink-500); font-size: 10.5px; }

.mini-chart { height: 180px; display: flex; align-items: flex-end; gap: 9px; padding: 14px 6px 2px; }
.bar-item { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.bar { width: 100%; max-width: 36px; min-height: 4px; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, #5a8ef5, #2563eb); position: relative; }
.bar::after { content: attr(data-value); position: absolute; left: 50%; top: -19px; transform: translateX(-50%); color: var(--ink-500); font-size: 9px; font-weight: 750; opacity: 0; transition: .15s; }
.bar:hover::after { opacity: 1; }
.bar-label { color: var(--ink-500); font-size: 9px; white-space: nowrap; }

/* Order detail */
.order-summary-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; }
.summary-cell { padding: 13px 15px; border-right: 1px solid var(--line); }
.summary-cell:last-child { border-right: 0; }
.summary-cell small { display: block; color: var(--ink-500); font-size: 9.5px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.summary-cell strong { display: block; margin-top: 4px; font-size: 12.5px; }
.info-list { display: grid; gap: 12px; }
.info-row { display: grid; grid-template-columns: minmax(110px, .8fr) 1.4fr; gap: 14px; align-items: start; }
.info-row span:first-child { color: var(--ink-500); font-size: 11px; }
.info-row span:last-child { color: var(--ink-950); font-size: 11.5px; font-weight: 600; }
.artwork-link { display: flex; align-items: center; gap: 8px; min-width: 0; }
.artwork-link a { color: var(--blue); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar-group { display: flex; align-items: center; }
.avatar-group .avatar { width: 27px; height: 27px; border-radius: 8px; margin-left: -7px; border: 2px solid #fff; font-size: 9px; }
.avatar-group .avatar:first-child { margin-left: 0; }

/* Forms */
.form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.field-span-12 { grid-column: span 12; }.field-span-8 { grid-column: span 8; }.field-span-6 { grid-column: span 6; }.field-span-4 { grid-column: span 4; }.field-span-3 { grid-column: span 3; }.field-span-2 { grid-column: span 2; }
.field-hint { margin-top: 5px; color: var(--ink-500); font-size: 10px; }
.required::after { content: " *"; color: var(--red); }
.line-item-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.line-item-head { padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #f8fafc; border-bottom: 1px solid var(--line); }
.line-item-body { padding: 14px; }
.add-dashed { width: 100%; padding: 13px; border: 1px dashed #b9c5d6; border-radius: 11px; background: #fafcff; color: var(--blue); font-weight: 750; }
.add-dashed:hover { background: #f2f7ff; border-color: #84a9ef; }

/* Import wizard */
.stepper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-bottom: 18px; }
.step { position: relative; display: flex; align-items: center; gap: 10px; color: var(--ink-400); }
.step:not(:last-child)::after { content: ""; position: absolute; height: 2px; left: 34px; right: 5px; top: 16px; background: #e2e7ee; z-index: 0; }
.step-num { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; z-index: 1; background: #e8ecf2; color: var(--ink-500); font-weight: 800; font-size: 11px; }
.step strong { display: block; font-size: 11px; color: inherit; }
.step span { display: block; margin-top: 1px; font-size: 9.5px; }
.step.active { color: var(--blue); }
.step.active .step-num { color: #fff; background: var(--blue); }
.step.done { color: var(--green); }
.step.done .step-num { color: #fff; background: var(--green); }
.step.done::after { background: #9ad8c4; }
.dropzone { min-height: 270px; border: 1.5px dashed #b7c3d4; border-radius: 15px; display: grid; place-items: center; text-align: center; padding: 28px; background: #fafcff; transition: .2s; }
.dropzone:hover, .dropzone.drag { border-color: var(--blue); background: #f4f8ff; }
.dropzone-icon { width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; margin: 0 auto 13px; color: var(--blue); background: var(--blue-soft); }
.dropzone h3 { margin: 0; font-size: 15px; }
.dropzone p { margin: 6px 0 14px; color: var(--ink-500); font-size: 11px; }
.file-chip { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.validation-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.validation-box { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.validation-box small { display: block; color: var(--ink-500); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.validation-box strong { display: block; margin-top: 5px; font-size: 20px; }
.cell-error { background: #fff1f1 !important; box-shadow: inset 0 0 0 1px #ffc4c4; color: #ad2626; }
.cell-warning { background: #fff8e8 !important; box-shadow: inset 0 0 0 1px #ffdf95; color: #9a5a0a; }

/* Kanban */
.kanban { display: grid; grid-template-columns: repeat(4, minmax(245px, 1fr)); gap: 13px; overflow-x: auto; padding-bottom: 5px; }
.kanban-col { min-height: 540px; border: 1px solid var(--line); border-radius: 13px; background: #f3f6fa; padding: 10px; }
.kanban-col-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 3px 3px 10px; }
.kanban-col-title { display: flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 800; }
.kanban-col-title::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--col-color, var(--blue)); }
.kanban-count { min-width: 23px; height: 22px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; color: var(--ink-600); background: #fff; border: 1px solid var(--line); font-size: 10px; font-weight: 800; }
.kanban-cards { min-height: 480px; display: grid; align-content: start; gap: 9px; }
.kanban-cards.drag-over { outline: 2px dashed #76a0ee; outline-offset: 3px; border-radius: 10px; }
.kanban-card { padding: 12px; border: 1px solid #dfe5ed; border-radius: 11px; background: #fff; box-shadow: 0 2px 7px rgba(15,23,42,.04); cursor: grab; }
.kanban-card:active { cursor: grabbing; }
.kanban-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.kanban-card-id { color: var(--blue); font-size: 10.5px; font-weight: 800; }
.kanban-card h4 { margin: 7px 0 3px; font-size: 12px; }
.kanban-card p { margin: 0; color: var(--ink-500); font-size: 10px; }
.kanban-meta { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.due { display: inline-flex; align-items: center; gap: 4px; color: var(--ink-500); font-size: 9.5px; }
.due.overdue { color: var(--red); font-weight: 750; }

/* QC */
.checklist { display: grid; gap: 8px; }
.check-item { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.check-item input { width: 17px; height: 17px; accent-color: var(--green); }
.check-item-main { flex: 1; }
.check-item-main strong { display: block; font-size: 11.5px; }
.check-item-main span { display: block; margin-top: 2px; color: var(--ink-500); font-size: 9.5px; }
.photo-upload { min-height: 150px; border: 1px dashed #bac5d5; border-radius: 11px; display: grid; place-items: center; text-align: center; color: var(--ink-500); background: #fafcff; }
.photo-preview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.photo-box { aspect-ratio: 1; border-radius: 10px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #6780a4, #27364f); font-size: 10px; }

/* Tracking */
.tracking-card { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.tracking-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.carrier-logo { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #ff6b35, #e4481c); font-size: 9px; font-weight: 900; }
.tracking-line { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 22px; }
.tracking-line::before { content: ""; position: absolute; left: 9%; right: 9%; top: 10px; height: 2px; background: #e0e5ec; }
.track-step { position: relative; z-index: 1; text-align: center; color: var(--ink-400); }
.track-dot { width: 20px; height: 20px; border-radius: 50%; margin: 0 auto 7px; background: #dce2ea; border: 4px solid #fff; box-shadow: 0 0 0 1px #dce2ea; }
.track-step.done { color: var(--green); }
.track-step.done .track-dot { background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.track-step.current { color: var(--blue); font-weight: 800; }
.track-step.current .track-dot { background: var(--blue); box-shadow: 0 0 0 3px #dfe9ff; }
.track-step strong { display: block; font-size: 9.5px; }
.track-step span { display: block; margin-top: 2px; color: var(--ink-500); font-size: 8.5px; }
.exception-card { border-left: 3px solid var(--red); }

/* Finance */
.aging-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.aging-box { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.aging-box small { display: block; color: var(--ink-500); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; font-weight: 800; }
.aging-box strong { display: block; margin-top: 5px; font-size: 17px; }
.aging-box span { display: block; margin-top: 2px; color: var(--ink-500); font-size: 9.5px; }
.fin-demo-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:12px}
.fin-bills-scroll{max-height:min(64vh,650px);overflow:auto}
.fin-sum-row td{position:sticky;bottom:0;z-index:2;background:#eef5ff!important;border-top:2px solid #bdd5fa;color:#243650;font-size:13px!important;font-weight:650!important;padding-top:16px;padding-bottom:16px}
.fin-sum-row strong{font-size:15px;color:#183454}
.fin-sum-row .fin-sum-debt{font-size:19px!important;color:#1d4ed8;font-weight:800!important}
.fin-alloc-list { max-height: 360px; overflow: auto; border: 1px solid var(--line); border-radius: 11px; }
.fin-alloc-list .fin-alloc-input { max-width: 155px; margin-left: auto; text-align: right; }
.invoice-total { display: grid; gap: 8px; padding: 13px; border-radius: 11px; background: #f7f9fc; }
.invoice-total .row { display: flex; justify-content: space-between; gap: 12px; color: var(--ink-600); font-size: 11px; }
.invoice-total .row.total { padding-top: 9px; border-top: 1px solid var(--line); color: var(--ink-950); font-size: 14px; font-weight: 800; }

/* Product */
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.product-card { overflow: hidden; }
.product-visual { height: 130px; position: relative; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--p-a), var(--p-b)); }
.product-visual::before { content: ""; width: 76px; height: 86px; border-radius: 18px 18px 12px 12px; border: 2px solid rgba(255,255,255,.45); opacity: .75; clip-path: polygon(23% 0, 39% 9%, 61% 9%, 77% 0, 100% 18%, 88% 36%, 82% 100%, 18% 100%, 12% 36%, 0 18%); }
.product-visual span { position: absolute; bottom: 9px; right: 11px; padding: 4px 7px; border-radius: 6px; background: rgba(7,17,31,.28); backdrop-filter: blur(3px); font-size: 9px; font-weight: 800; }
.product-card-content { padding: 14px; }
.product-card-content h3 { margin: 0; font-size: 13px; }
.product-card-content p { margin: 4px 0 11px; color: var(--ink-500); font-size: 10px; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ink-500); font-size: 9.5px; }

/* Modal / Toast */
.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: rgba(7,17,31,.58); backdrop-filter: blur(4px); animation: fadeIn .14s ease; }
.modal { width: min(620px, 100%); max-height: calc(100vh - 48px); overflow: auto; border-radius: 18px; background: #fff; box-shadow: var(--shadow-lg); animation: modalIn .18s ease; }
.modal.modal-lg { width: min(900px, 100%); }
.modal-head { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.modal-head h3 { margin: 0; font-size: 17px; letter-spacing: -.018em; }
.modal-head p { margin: 4px 0 0; color: var(--ink-500); font-size: 11px; }
.modal-body { padding: 20px; }
.modal-foot { padding: 14px 20px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: flex-end; gap: 8px; background: #fbfcfe; border-radius: 0 0 18px 18px; }
.toast-stack { position: fixed; right: 20px; bottom: 20px; z-index: 140; display: grid; gap: 9px; width: min(360px, calc(100vw - 40px)); }
.toast { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; border-radius: 12px; color: #fff; background: #1d2b41; box-shadow: var(--shadow-md); animation: toastIn .2s ease; }
.toast.success { background: #0d7d59; }.toast.error { background: #b92424; }.toast.warning { background: #a55c0a; }
.toast strong { display: block; font-size: 11.5px; }.toast p { margin: 2px 0 0; color: rgba(255,255,255,.75); font-size: 10.5px; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalIn { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Prototype map */
.screen-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.screen-map-item { display: flex; align-items: center; gap: 11px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; transition: .14s; }
.screen-map-item:hover { border-color: #9bb8ec; background: #f8fbff; }
.screen-map-code { width: 58px; flex: 0 0 auto; padding: 5px 6px; border-radius: 6px; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 850; text-align: center; }
.screen-map-item strong { display: block; font-size: 11px; }
.screen-map-item span { display: block; margin-top: 2px; color: var(--ink-500); font-size: 9.5px; }


.sh-list-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.sh-sort{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.sh-sort .form-select{min-width:205px}
.sh-list-table{min-width:1100px}.sh-filter-row th{background:#f3f7fc;padding:7px!important;vertical-align:top}.sh-filter-row .form-control,.sh-filter-row .form-select{min-width:115px;max-width:190px;font-size:12px;padding:6px 8px}
.sh-date-range{display:grid;gap:5px;min-width:175px}.sh-date-range label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:600}.sh-date-range .form-control{min-width:135px!important;width:135px}.sh-select-label{display:flex;align-items:center;gap:5px;font-size:12px}.sh-select-label input,[data-shipping-select]{width:17px;height:17px;accent-color:#2563eb}
.sh-inline-tracking{min-width:160px;max-width:210px;border-color:#9fc2f3;background:#f7faff}.sh-inline-tracking:focus{background:#fff}.sh-weight-input{min-width:96px;max-width:120px}.sh-list-table td small.table-secondary{display:block;margin-top:5px;white-space:normal;min-width:135px}.sh-list-table td{vertical-align:middle}
/* Public tracking */
.public-track-page { min-height: 100vh; background: linear-gradient(180deg, #f4f7fb, #fff); }
.public-track-head { height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 max(24px, calc((100vw - 1060px)/2)); background: #fff; border-bottom: 1px solid var(--line); }
.public-track-head .login-brand { color: var(--ink-950); }
.public-track-head .brand-copy span { color: var(--ink-500); }
.public-track-wrap { width: min(940px, calc(100% - 32px)); margin: 46px auto; }
.public-track-hero { text-align: center; margin-bottom: 24px; }
.public-track-hero h1 { margin: 0; font-size: 30px; letter-spacing: -.035em; }
.public-track-hero p { margin: 7px 0 0; color: var(--ink-600); }
.public-track-card { padding: 24px; border-radius: 19px; background: #fff; border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(15,23,42,.08); }
.public-track-number { padding: 14px; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #0f2843, #1b4770); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.public-track-number small { display: block; color: rgba(255,255,255,.6); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; }
.public-track-number strong { display: block; margin-top: 3px; font-size: 15px; letter-spacing: .03em; }

/* R01 GENERAL UI — mobile navigation */
.sidebar-backdrop { display:none; position:fixed; inset:0; background:rgba(7,17,31,.46); z-index:35; opacity:0; transition:.2s ease; }
.table-wrap { -webkit-overflow-scrolling: touch; }

/* Responsive */
.mobile-menu { display: none; }
@media (max-width: 1180px) {
  :root { --sidebar: 235px; }
  .grid-5 { grid-template-columns: repeat(3, 1fr); }
  .order-summary-strip { grid-template-columns: repeat(3, 1fr); }
  .summary-cell:nth-child(3) { border-right: 0; }
  .summary-cell:nth-child(n+4) { border-top: 1px solid var(--line); }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 930px) {
  .login-page { grid-template-columns: 1fr; }
  .login-hero { min-height: 520px; }
  .login-panel { padding: 38px 24px 60px; }
  .app-shell { display: block; }
  .sidebar { transform: translateX(-100%); transition: .2s; box-shadow: var(--shadow-lg); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-backdrop { display:block; pointer-events:none; }
  .sidebar-backdrop.show { opacity:1; pointer-events:auto; }
  .main-shell { margin-left: 0; }
  .mobile-menu { display: inline-flex; }
  .content { padding: 20px 16px 40px; }
  .topbar { padding: 0 15px; }
  .role-switch { display: none; }
  .grid-4, .grid-5 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .col-span-3 { grid-column: span 2; }
}
@media (max-width: 680px) {
  .login-hero { padding: 34px 24px; min-height: 560px; }
  .login-hero h1 { font-size: 38px; }
  .login-stat-grid { grid-template-columns: 1fr; }
  .login-stat:nth-child(n+2) { display: none; }
  .demo-buttons { grid-template-columns: 1fr; }
  .page-head { display: block; }
  .page-actions { justify-content: flex-start; margin-top: 14px; }
  .grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; }
  .col-span-2, .col-span-3 { grid-column: span 1; }
  .order-summary-strip { grid-template-columns: 1fr; }
  .summary-cell { border-right: 0; border-bottom: 1px solid var(--line); }
  .summary-cell:last-child { border-bottom: 0; }
  .form-grid { grid-template-columns: 1fr; }
  [class*="field-span-"] { grid-column: span 1; }
  .validation-summary, .aging-grid { grid-template-columns: repeat(2, 1fr); }
  .product-grid, .screen-map { grid-template-columns: 1fr; }
  .topbar-actions .screen-code { display: none; }
  .topbar { height: 68px; }
  .page-ident p { display: none; }
  .content { padding-top: 16px; }
  .table-wrap { position:relative; }
  .data-table th:first-child, .data-table td:first-child { position:sticky; left:0; z-index:2; background:#fff; box-shadow:1px 0 0 var(--line); }
  .data-table th:first-child { z-index:3; background:#fafbfd; }
  .data-table tbody tr:hover td:first-child { background:#f8faff; }
}

/* Small prototype utilities */
.clickable { cursor: pointer; }
.required { color: var(--red); }
.required::after { content: none; }
.gap-10 { gap: 10px; }
.ml-auto { margin-left: auto; }
body.modal-open { overflow: hidden; }
@media print { .sidebar, .topbar, .page-actions, .btn { display:none !important; } .app-shell { display:block; } .main-shell { margin:0; } .content { padding:0; } }


/* R01-P Product master data */
.product-list-table th,.product-list-table td{vertical-align:middle}
.product-list-table .table-actions{flex-wrap:wrap;justify-content:flex-end}
.product-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;letter-spacing:.01em}
.sku-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:750;font-size:12px}
.sku-inline{min-width:92px;max-width:116px;padding:8px 9px}
.sku-status{min-width:118px;padding:8px 9px}
.product-form-note{padding:10px 12px;border-radius:10px;background:var(--surface-tint);border:1px solid var(--line);font-size:12px;color:var(--ink-600)}
.product-form-note strong{color:var(--ink-800)}
.product-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.product-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.system-tile{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.system-tile small{display:block;color:var(--ink-500);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.system-tile strong{display:block;margin-top:3px;font-size:12px;word-break:break-word}
.bulk-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bulk-chip{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:700}
.table-link{border:0;background:transparent;color:var(--blue);font-weight:800;padding:0;cursor:pointer}
.product-image-empty{border:1px dashed var(--line-strong);background:var(--surface-soft);color:var(--ink-500)}
.product-image-empty::before{display:none}
@media(max-width:900px){.product-list-table{min-width:1050px}.product-system-grid{grid-template-columns:1fr}}


/* === R01-O order acceptance UI === */
.code-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;letter-spacing:.05em;color:#475569;background:#eef2f7;border:1px solid #dde4ee;border-radius:999px;padding:3px 7px;white-space:nowrap}
/* Nghiệm thu R01: vàng = mục đã chốt, xám = bố cục/luồng demo. */
.approved-text,.page-ident h1.approved-text,.page-head h2.approved-text,.card-head h3.approved-text{color:#a26400!important}
.nav-item .approved-text{color:#facc15!important;font-weight:800}
.nav-item.active .approved-text{color:#ffe47b!important}
.nav-item>span:first-of-type{min-width:0;line-height:1.35}
.approved-code,.screen-code.approved-code,.code-chip.approved-code{color:#985c00;background:#fff3c4;border-color:#edc663;letter-spacing:0}
.shipping-approved-tabs .tab-btn,.shipping-approved-tabs .tab-btn.active{color:#985c00;font-weight:800}
.review-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:12px 15px;border:1px solid #dce3ed;border-radius:12px;background:#f8fafc;font-size:12px}
.review-banner strong{display:block;margin-bottom:3px}.review-banner p{margin:0;color:#475569}.review-banner[data-status="approved"]{border-left:4px solid #e4aa26}.review-banner[data-status="partial"]{border-left:4px solid #e4aa26}.review-banner[data-status="demo"]{border-left:4px solid #94a3b8}
.review-label{font-size:11px;font-weight:800;border-radius:999px;padding:5px 9px;white-space:nowrap}.review-label.approved{background:#fff0af;color:#805000}.review-label.demo{background:#e8edf3;color:#475569}
.review-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.review-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.review-list li{border:1px solid #e2e8f0;border-radius:10px;padding:11px;background:#fff}.review-list small{display:block;margin-top:5px;color:#64748b}.review-list strong{font-size:12px}.review-list .approved-text{color:#985c00!important}.review-list .demo-text{color:#475569}
.job-seller-refs{display:flex;align-items:center;gap:6px;min-width:118px}
.job-seller-ref{position:relative;display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;overflow:hidden;border:1px solid #d8e2ed;border-radius:9px;padding:0;background:#fff;cursor:zoom-in}
.job-seller-ref img{display:block;width:100%;height:100%;object-fit:cover}
.job-seller-ref:hover,.job-seller-ref:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.job-seller-ref-label{position:absolute;right:0;bottom:0;left:0;padding:2px 0;background:rgba(15,23,42,.78);color:#fff;font-size:8px;text-align:center}
.job-seller-ref-extra{font-size:10px;font-weight:700;color:#475569;white-space:nowrap}
.job-seller-ref-empty{display:grid;place-items:center;width:48px;height:48px;border:1px dashed #cbd5e1;border-radius:9px;color:#64748b;background:#f8fafc;font-size:9px;text-align:center;line-height:1.15}
.job-seller-ref-warning{color:#a83d26;font-size:10px;line-height:1.2}
.job-reference-note{margin:0;padding:9px 12px;border-top:1px solid #edf0f4;background:#f8fafc;color:#475569;font-size:11px}
.column-approved{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#fff3c4;border:1px solid #edc663;color:#985c00;font-size:10px;font-weight:800;white-space:nowrap}.column-toggle-approved{color:#985c00!important;background:#fff9df!important;border-color:#edc663!important}
.production-column-picker{position:relative;z-index:20}
.production-column-picker>button{white-space:nowrap}
.production-column-popover{position:absolute;right:0;top:calc(100% + 7px);width:min(304px,calc(100vw - 40px));padding:14px;border:1px solid #d0dae7;border-radius:12px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.18);z-index:21}
.production-column-popover h4{margin:0 0 4px;font-size:13px}.production-column-popover p{margin:0 0 10px;color:#64748b;font-size:11px;line-height:1.4}
.production-column-popover label{display:flex;align-items:center;gap:9px;padding:6px 4px;font-size:12px;cursor:pointer}
.production-column-popover input{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}
.production-column-popover .fixed-column{color:#64748b;cursor:default}.production-column-popover .fixed-column input{cursor:default}
.production-column-presets{display:flex;gap:8px;margin-top:9px;padding-top:11px;border-top:1px solid #edf0f4}
.production-column-presets button{flex:1;justify-content:center}
.production-column-caption{padding:8px 12px;border-top:1px solid #edf0f4;color:#475569;font-size:11px;background:#fcfdff}
@media(max-width:700px){.review-banner{align-items:flex-start}.review-list{grid-template-columns:1fr}}
.order-risk{display:flex;flex-direction:column;gap:3px;min-width:118px}.order-risk strong{font-size:12px}.risk-normal{color:#0f9f6e}.risk-near{color:#d97706}.risk-overdue{color:#dc2626}.risk-done{color:#0f766e}.risk-muted{color:#64748b}
.order-status-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.flow-step{padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#64748b;font-size:12px;font-weight:700}.flow-step.current{border-color:#2563eb;background:#eaf1ff;color:#1d4ed8}.flow-step.done{border-color:#b7e4d2;background:#e8f8f2;color:#087c57}.flow-arrow-mini{color:#94a3b8;font-weight:800}
.pending-edit{border:1px solid #f3c76d;background:#fffaf0;border-radius:14px;padding:16px}.change-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.change-cell{padding:10px;border-radius:10px;background:#fff;border:1px solid #eadfc7}.change-cell small{display:block;color:#64748b;margin-bottom:5px}.change-old{color:#64748b;text-decoration:line-through}.change-new{color:#1d4ed8;font-weight:800}
.sla-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sla-box{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.sla-box small{display:block;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.05em}.sla-box strong{display:block;margin-top:5px;font-size:14px}
.lock-note{display:flex;gap:8px;align-items:flex-start;color:#475569;font-size:12px}.order-note{padding:12px;border:1px solid var(--line);background:#f8fafc;border-radius:10px}.admin-only{border-left:3px solid #111827}.order-list-product{display:flex;align-items:center;gap:9px;min-width:210px}.mini-meta{font-size:11px;color:#64748b}.country-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;padding:2px 6px;border-radius:6px;background:#eef2f7}.import-seller-bar{display:flex;align-items:end;gap:12px;padding:14px;background:#f8fafc;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.import-seller-bar .form-group{margin:0;min-width:280px}.qc-rework-card{border:1px solid #fecaca;background:#fff7f7;border-radius:14px;padding:16px}.qc-pass-card{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;padding:16px}
.product-ref-block{grid-column:1/-1;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:12px;padding:12px}
.product-ref-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.product-ref-title{font-size:12px;font-weight:800;color:#334155}.optional-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}
.product-ref-grid{display:flex;gap:8px;flex-wrap:wrap}.product-ref-thumb{position:relative;width:92px;height:92px;padding:0;border:1px solid #dbe2ea;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer}.product-ref-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-ref-thumb .ref-label{position:absolute;left:5px;right:5px;bottom:5px;padding:3px 5px;border-radius:6px;background:rgba(15,23,42,.72);color:#fff;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-ref-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer}.product-ref-add{width:92px;height:92px;border:1px dashed #94a3b8;border-radius:10px;background:#fff;color:#475569;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:800}.product-ref-empty{min-height:70px;display:flex;align-items:center;justify-content:center;text-align:center;color:#64748b;font-size:11px;border:1px dashed #d7dee8;border-radius:10px;background:#fff;padding:10px;min-width:190px}.product-ref-note{margin-top:8px;color:#64748b;font-size:10px}.product-ref-preview{max-width:min(820px,86vw);max-height:68vh;display:block;margin:0 auto;border-radius:12px;border:1px solid var(--line);background:#f8fafc}
.order-ref-list-thumb{width:54px;height:54px;border-radius:10px;border:1px solid var(--line);background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:10px;font-weight:800;flex:0 0 auto}.order-ref-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}.order-ref-count{display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:10px;font-weight:800}.overview-item-ref{display:grid;grid-template-columns:minmax(210px,1fr) minmax(260px,1.4fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.overview-item-main{display:flex;gap:10px;align-items:center}.overview-item-main .product-thumb{width:58px;height:58px}.overview-ref-thumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.overview-ref-thumbs .product-ref-thumb{width:72px;height:72px}.overview-no-ref{height:72px;min-width:150px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;padding:8px}@media(max-width:900px){.overview-item-ref{grid-template-columns:1fr}}


@media(max-width:900px){.change-grid,.sla-card-grid{grid-template-columns:1fr 1fr}.import-seller-bar{align-items:stretch;flex-direction:column}.import-seller-bar .form-group{min-width:0}}


/* Bản 17 — thao tác theo quyền và hàng chờ QC */
.workflow-preview{margin:0 0 18px;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc;font-size:12px}.workflow-preview summary{padding:10px 14px;cursor:pointer;color:#475569}.workflow-preview summary strong{color:#0f172a;margin-left:10px}.workflow-preview-body{display:grid;gap:10px;padding:0 14px 14px;max-width:920px}.workflow-preview-body select{max-width:650px}.workflow-preview-body small{color:#64748b}.workflow-permissions{display:flex;flex-wrap:wrap;gap:12px}.workflow-permissions label{display:flex;gap:6px;align-items:center}.workflow-bulk{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#eff6ff;border-top:1px solid #dbeafe;border-bottom:1px solid #dbeafe}.workflow-bulk small{display:block;color:#64748b;margin-top:4px}.workflow-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.workflow-bulk button:disabled{opacity:.45;cursor:not-allowed}.workflow-batch-list{max-height:340px;overflow:auto}.workflow-batch-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #e2e8f0}.qc-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#64748b}.qc-empty strong{font-size:16px;color:#334155}.qc-queue .toolbar{flex-wrap:wrap}.qc-queue .search-box{min-width:250px;flex:1 1 290px}.data-table input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb}.qc-queue .data-table{min-width:1080px}.review-banner[data-status=review]{background:#eff6ff;border-color:#bfdbfe}.review-banner[data-status=review] strong{color:#1d4ed8}.qc-column-picker{z-index:25}@media(max-width:700px){.workflow-bulk-actions{width:100%}.workflow-preview summary{line-height:1.8}.qc-queue .search-box{min-width:180px}.workflow-batch-list>div{flex-direction:column}}
/* Bản 23 — R01-QC02 Chi tiết kiểm tra QC, đề xuất nghiệm thu */
.qc-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.qc-main-column,.qc-side-column{display:grid;gap:20px;min-width:0}.qc-review-note{padding:12px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#1e40af}.qc-start-banner{padding:18px 22px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.qc-start-banner p{margin:5px 0 0;color:#475569}.qc-ref-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.qc-ref-item{padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0}.qc-ref-title{display:flex;justify-content:space-between;align-items:start;gap:12px}.qc-ref-title h4{margin:4px 0;font-size:15px}.qc-ref-title p{margin:0;color:#64748b;font-size:12px}.qc-kicker{font-size:10px;font-weight:800;color:#64748b;letter-spacing:1px}.qc-item-facts{display:flex;gap:28px;background:#f8fafc;padding:10px 12px;margin:14px 0;border-radius:8px}.qc-item-facts small{font-size:10px;color:#64748b;display:block}.qc-item-facts strong{display:block;margin-top:3px}.qc-ref-thumbs{display:flex;flex-wrap:wrap;gap:8px}.qc-ref-thumbs .product-ref-thumb{width:96px;height:112px}.qc-artwork{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.qc-artwork>div{flex:1;min-width:0}.qc-artwork strong{font-size:12px}.qc-artwork small{display:block;overflow-wrap:anywhere;color:#64748b;font-size:11px;margin-top:4px}.qc-check-row{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.qc-check-row:last-child{border-bottom:0}.qc-check-row[data-result=fail]{background:#fff6f6}.qc-check-row[data-result=pass]{background:#f6fcf9}.qc-check-number{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:#edf1f6;color:#64748b;display:grid;place-items:center;font-size:11px;font-weight:800}.qc-check-text{flex:1;min-width:0}.qc-check-text p{font-size:12px;color:#64748b;margin:4px 0}.qc-check-text small{font-size:11px;font-weight:600;color:#64748b}.qc-check-row[data-result=pass] .qc-check-text small{color:#047857}.qc-check-row[data-result=fail] .qc-check-text small{color:#b91c1c}.qc-check-options{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:250px}.qc-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px}.qc-photo-grid figure{margin:0;padding:8px;border:1px solid var(--line);border-radius:10px}.qc-photo-preview{display:block;width:100%;height:138px;border:0;padding:0;background:#f1f5f9}.qc-photo-preview img{width:100%;height:100%;object-fit:contain}.qc-photo-grid figcaption{font-size:11px;margin-top:8px;overflow-wrap:anywhere}.qc-photo-grid figcaption small{display:block;color:#64748b;margin-top:4px}.qc-photo-empty{padding:15px;border:1px dashed #d6dde8;border-radius:10px;color:#64748b;font-size:12px;background:#fafbfd;flex:1}.qc-upload{position:relative;display:inline-flex;gap:8px;align-items:center;border:1px solid #cbd5e1;background:white;border-radius:8px;padding:10px 15px;cursor:pointer;font-weight:600;margin-top:16px;overflow:hidden}.qc-upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.qc-upload.is-disabled{opacity:.5;cursor:default}.qc-help{font-size:11px;line-height:1.65;color:#64748b;margin-bottom:0}.qc-progress strong{font-size:36px;color:#0f172a}.qc-progress strong span{font-size:18px;color:#94a3b8;font-weight:500}.qc-progress small{display:block;color:#64748b;margin-bottom:16px}.qc-stat-list{display:grid;gap:10px;margin:20px 0}.qc-stat-list>span{display:flex;justify-content:space-between;color:#475569}.qc-ready{padding:12px;background:#f1f5f9;font-size:12px;border-radius:8px;line-height:1.65}.qc-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.qc-action-bar{position:sticky;bottom:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px 20px;background:rgba(255,255,255,.98);border:1px solid #d6dde8;box-shadow:0 -4px 20px #0f172a0a;border-radius:12px}.qc-action-bar small{display:block;color:#64748b;font-size:11px;margin-top:4px}.qc-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.qc-action-bar button:disabled,.qc-artwork button:disabled{opacity:.45;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){.qc-detail-layout{grid-template-columns:minmax(0,1fr) 265px}.qc-check-row{flex-wrap:wrap}.qc-check-options{margin-left:40px;max-width:none;justify-content:flex-start}.qc-ref-items{grid-template-columns:1fr}}
@media(max-width:850px){.qc-detail-layout{grid-template-columns:1fr}.qc-side-column{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.qc-action-bar{flex-direction:column;align-items:stretch}.qc-action-buttons{justify-content:flex-end}.qc-start-banner{flex-wrap:wrap}.qc-ref-items{grid-template-columns:1fr}}

.qc-fast-mode .content{padding:14px 24px 32px}.qc-fast-mode .review-banner{display:none}.qc-fast-mode .topbar .page-ident p{display:none}.qf-shell{max-width:940px;margin:auto;padding-bottom:112px}.qf-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.qf-breadcrumb>span{font-size:11px;color:#64748b;white-space:nowrap}.qf-breadcrumb button{padding-left:0;min-height:44px}.qf-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.qf-heading h2{font-size:24px;margin:0}.qf-heading p{font-size:13px;color:#64748b;margin:3px 0 0}.qf-meta{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:#64748b;padding:12px 0 14px}.qf-meta strong{color:#334155}.qf-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:14px;margin-bottom:14px}.qf-item{border:1px solid #dfe6ef;border-radius:14px;background:white;padding:16px;min-width:0}.qf-item-title{display:flex;gap:12px;align-items:start;justify-content:space-between;font-weight:650;margin-bottom:14px}.qf-item-title>strong{font-size:12px;background:#eaf1ff;color:#1d4ed8;padding:4px 8px;border-radius:6px;white-space:nowrap}.qf-item-content{display:grid;grid-template-columns:116px 1fr;gap:18px}.qf-reference .product-ref-thumb{width:116px;height:142px}.qf-reference .product-ref-thumb img{object-fit:contain}.qf-no-image{width:116px;height:142px;background:#f1f5f9;border-radius:10px;display:grid;place-content:center;text-align:center;color:#64748b;font-size:12px}.qf-sku{font-size:11px;color:#64748b;overflow-wrap:anywhere}.qf-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.qf-facts small,.qf-personal small{display:block;color:#64748b;font-size:10px;font-weight:600;letter-spacing:.4px}.qf-facts strong{font-size:25px;display:block}.qf-personal strong{font-size:19px;display:block;color:#0f172a;overflow-wrap:anywhere;margin-top:2px}.qf-ref-links{display:flex;align-items:center;gap:10px;margin-top:12px}.qf-ref-links .product-ref-thumb{width:44px;height:44px}.qf-ref-links button.btn{min-height:44px;margin-left:auto}.qf-panel{border:1px solid #dfe6ef;background:#fff;border-radius:12px;margin:10px 0;overflow:hidden}.qf-panel>summary{cursor:pointer;min-height:54px;padding:16px;font-weight:650;font-size:13px;list-style:none;display:flex;align-items:center;gap:10px}.qf-panel>summary::-webkit-details-marker{display:none}.qf-panel>summary::before{content:'+';color:#64748b;font-size:19px;line-height:1}.qf-panel[open]>summary::before{content:'−'}.qf-panel>summary>span{font-size:11px;color:#64748b;font-weight:400;margin-left:auto}.qf-panel-body{padding:0 16px 16px}.qf-panel-body .form-label{margin-top:14px}.qf-guide{padding-left:23px;display:grid;gap:12px;margin:14px 0 0}.qf-guide li::marker{color:#64748b}.qf-guide strong{font-size:13px}.qf-guide span{display:block;color:#64748b;font-size:12px}.qf-hint{font-size:12px;color:#64748b;line-height:1.6}.qf-photo-buttons{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.qf-photo-buttons .qc-upload{margin-top:0;min-height:48px;flex:1;justify-content:center}.qf-panel textarea{font-size:16px;min-height:84px}.qf-prototype{font-size:11px;color:#94a3b8;margin:16px 0}.qf-prototype>.workflow-preview{margin:12px 0 0}.qf-actions{position:fixed;z-index:25;left:calc(var(--sidebar) + 24px);right:24px;bottom:12px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border:1px solid #d6e1ec;border-radius:14px;background:#fff;box-shadow:0 -4px 20px #0f172a0b;max-width:940px;margin:0 auto}.qf-actions p{font-size:11px;color:#64748b;text-align:center;margin:0 0 7px}.qf-actions>div{display:flex;gap:10px}.qf-actions .btn{min-height:54px;font-size:15px;font-weight:750;border-radius:10px}.qf-actions .btn-danger-soft{flex:0 0 34%}.qf-actions .btn-success{flex:1}.qf-actions .qf-full{width:100%}.qf-actions button:disabled{opacity:.5;cursor:not-allowed}.qf-result,.qf-warning,.qf-order-note{padding:14px;border-radius:12px;margin:0 0 14px;font-size:13px}.qf-result.passed{border:1px solid #a7e4cb;background:#ecfdf5;color:#066747}.qf-result.failed,.qf-warning{background:#fff3f2;border:1px solid #fecaca;color:#991b1b}.qf-order-note{background:#fffbeb;border:1px solid #fde68a;color:#854d0e}.qf-result p,.qf-warning p,.qf-order-note p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.qf-result small{display:block;margin-top:7px}.qf-queue-mobile{display:none}.qf-error-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.qc-fast-mode .modal .btn,.qc-fast-mode .modal select{min-height:48px}.qc-fast-mode .modal textarea{font-size:16px}.qc-fast-mode .toast-stack{bottom:126px}.qc-fast-mode .topbar-actions .icon-btn-wrap{display:none}
@media(max-width:1100px){.qf-actions{left:12px;right:12px}}
@media(max-width:680px){.qc-fast-mode .content{padding:8px 12px 24px}.qc-fast-mode .topbar{height:60px}.qc-fast-mode .page-ident h1{font-size:16px}.qc-fast-mode .topbar-actions{display:none}.qf-item{padding:13px}.qf-item-content{grid-template-columns:100px 1fr;gap:14px}.qf-reference .product-ref-thumb,.qf-no-image{width:100px;height:126px}.qf-heading h2{font-size:22px}.qf-items{grid-template-columns:1fr;gap:12px}.qf-panel>summary{padding:14px 12px}.qf-panel>summary>span{font-size:10px}.qf-actions{bottom:8px;left:8px;right:8px;padding:8px 10px calc(10px + env(safe-area-inset-bottom))}.qf-actions .btn{font-size:14px;min-height:54px;padding:10px 8px}.qf-photo-buttons{gap:8px}.qf-queue-mobile{display:grid;padding:12px;gap:12px}.qf-queue-mobile article{padding:14px;border:1px solid #e2e8f0;border-radius:12px}.qf-queue-title{display:flex;justify-content:space-between;font-size:16px}.qf-queue-title span{font-size:12px;color:#1d4ed8}.qf-queue-mobile article>p{font-size:11px;color:#64748b;margin:4px 0 8px}.qf-queue-status{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#64748b;margin:12px 0}.qf-queue-mobile .btn{width:100%;min-height:48px}.qc-queue>.table-wrap{display:none}.qc-fast-mode .modal{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.qc-fast-mode .modal-body{padding:16px}.qc-fast-mode .modal-foot{padding:12px}.qc-fast-mode .modal-head{padding:16px}}

.qf-fault-card{background:#fff;border:1px solid #dfe6ef;border-radius:14px;margin:12px 0;overflow:hidden}.qf-fault-head{padding:13px 14px 10px}.qf-fault-head h3{font-size:15px;margin:0}.qf-fault-head p{font-size:11px;color:#64748b;margin:4px 0 0}.qf-fault-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.qf-fault-option{display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 10px;border:1px solid #e2e8f0;border-radius:9px;font-size:12px;line-height:1.35;cursor:pointer;background:#f8fafc;user-select:none}.qf-fault-option input{width:20px;height:20px;flex:0 0 20px;accent-color:#dc2626;cursor:pointer}.qf-fault-option.selected{background:#fff1f2;border-color:#fca5a5;color:#991b1b;font-weight:650}.qf-fault-option.readonly{cursor:default}.qf-fault-option:focus-within{outline:2px solid #3b82f6;outline-offset:1px}.qf-fault-result{padding:10px 14px;border-top:1px solid #e2e8f0;color:#475569;background:#f8fafc;font-size:12px}.qf-fault-result.has-faults{background:#fff1f2;color:#b91c1c;border-color:#fecaca}.qf-fault-result small{display:block;margin-top:4px;font-size:11px}.qf-failure-form{padding:16px;background:#fff;border:1px solid #fca5a5;border-radius:14px;margin:12px 0}.qf-failure-form h3{font-size:15px;margin:0 0 14px}.qf-failure-form h3 span{display:block;font-size:10px;font-weight:400;color:#64748b;margin-top:4px}.qf-failure-form fieldset{border:0;padding:0;margin:0 0 14px}.qf-failure-form legend{font-size:12px;font-weight:650;margin-bottom:8px}.qf-rework-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qf-rework-choices label{display:flex;gap:10px;align-items:center;border:1px solid #cbd5e1;border-radius:10px;min-height:58px;padding:10px;cursor:pointer}.qf-rework-choices label.selected{border-color:#dc2626;background:#fff1f2}.qf-rework-choices input{accent-color:#dc2626;width:20px;height:20px;flex:0 0 20px}.qf-rework-choices strong{font-size:14px}.qf-rework-choices small{display:block;color:#64748b;font-size:11px}.qf-failure-form textarea{font-size:16px;min-height:98px}.qf-failure-form textarea:focus{outline:2px solid #3b82f6}.qf-actions .qf-pass-locked{flex:0 0 30%;background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.qf-actions .qf-confirm-fail{flex:1}.qf-fault-list{padding-left:20px;color:#b91c1c}.qf-fault-list li{margin:6px 0}
@media(min-width:900px){.qf-fault-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.qf-breadcrumb{margin-bottom:4px}.qf-meta{padding:10px 0}.qf-item-title{margin-bottom:10px}.qf-item-content{grid-template-columns:90px 1fr}.qf-reference .product-ref-thumb,.qf-no-image{width:90px;height:112px}.qf-facts{margin:8px 0}.qf-facts strong{font-size:23px}.qf-ref-links{margin-top:8px}.qf-fault-grid{gap:6px;padding:0 10px 10px}.qf-fault-option{padding:7px 8px;font-size:11px}.qf-fault-head{padding:11px 12px 9px}.qf-fault-result{padding:9px 12px}.qf-actions .qf-confirm-fail{font-size:14px}}


/* R01-QC02 — nút ảnh luôn nhìn thấy, lý do khóa hiển thị ngay bên dưới. */
.qf-photo-hint{font-size:12px;line-height:1.5;color:#64748b;margin:0 0 14px}
.qf-photo-buttons .qc-upload{font-size:13px;gap:6px;padding:10px 9px;white-space:nowrap}
.qf-photo-buttons .qc-upload.is-disabled{opacity:.6;cursor:not-allowed}
.qf-photo-buttons .qc-upload.is-disabled input{cursor:not-allowed}
.qf-photo-buttons .qc-upload:focus-within{outline:2px solid #3b82f6;outline-offset:2px}
@media(max-width:360px){.qf-photo-buttons .qc-upload{font-size:12px;padding:10px 7px}}

/* R01-QC03 / R01-J04 — failed quantities per stable Order Item. */
.qi-failure-list,.qi-ticket-rows{display:grid;gap:14px}.qi-failure,.qi-ticket-row{border:1px solid #dce3ec;border-radius:12px;padding:14px;background:white;min-width:0}.qi-failure.selected{border-color:#f2b8b8}.qi-select{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-weight:750;color:#9f2525;border-bottom:1px solid #f1e4e4;margin:-8px 0 14px}.qi-select input{width:22px;height:22px;accent-color:#c53030}.qi-auto{font-size:11px;color:#b42323;margin-bottom:12px}.qi-identity{display:flex;align-items:center;gap:12px;min-width:0}.qi-identity>div{min-width:0;display:grid;gap:5px;overflow-wrap:anywhere}.qi-identity strong{font-size:14px}.qi-identity span{font-size:13px}.qi-identity small{color:#64748b;font-size:10px}.qi-identity .product-ref-thumb{flex:0 0 68px;width:68px;height:78px}.qi-no-ref{flex:0 0 68px;font-size:11px!important;color:#64748b;background:#f1f5f9;padding:10px 4px;text-align:center;border-radius:8px}.qi-available{display:block;margin:12px 0 0;color:#64748b}.qi-fields{margin-top:12px}.qi-quantity{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.qi-quantity .form-control{width:76px;min-height:48px;text-align:center;font-size:17px;font-weight:700}.qi-quantity small{color:#64748b}.qi-intro{font-size:13px;color:#64748b}.qi-held{border:1px solid #b7e4d2;border-radius:12px;background:#f1faf6;margin:0 0 16px;color:#166548}.qi-held summary{cursor:pointer;padding:13px 15px;min-height:48px}.qi-held summary span{display:block;font-size:12px;margin-top:4px}.qi-held>div{padding:0 15px 10px}.qi-held p{font-size:12px;overflow-wrap:anywhere;border-top:1px solid #d3eadd;padding-top:10px}.qi-held p strong{display:block;margin-top:4px}.qi-ticket{margin-bottom:20px;border-color:#f1bcbc}.qi-ticket-summary{display:grid;gap:6px;margin-bottom:18px}.qi-ticket-summary>strong{font-size:22px;color:#b42323}.qi-ticket-summary>span{color:#237054;font-size:13px}.qi-work{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 8px}.qi-work strong{background:#fff0f0;border-radius:6px;color:#b42323;padding:7px 10px}.qi-work span{font-size:12px;color:#64748b}.qi-work-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.qi-tag{padding:10px;background:#f1f5f9;border:1px dashed #b6c3d4;border-radius:7px;font-size:12px;margin-bottom:12px;overflow-wrap:anywhere}.qi-tag b{display:block;margin-top:4px}.qi-physical{font-size:12px;color:#475569;margin-top:18px}.qi-evidence summary{cursor:pointer;min-height:48px;display:flex;align-items:center}.qi-ticket .btn{min-height:48px}.qi-demo{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.qi-demo .btn{min-height:44px}.qi-scope-title{font-size:14px;margin:4px 0 12px}.qi-rework-open{margin-top:12px;min-height:48px}.qi-ticket-rows{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.qi-ticket .card-body{min-width:0}.qi-ticket .card-head{flex-wrap:wrap}.qi-ticket .card-head p{overflow-wrap:anywhere}.qi-scope-badge{margin-left:8px;font-size:11px;font-weight:500}.qf-failure-form .qi-fields fieldset{margin-top:16px}.qf-item .qi-item-code{display:block;padding:0 15px 12px;font-size:10px;color:#64748b;overflow-wrap:anywhere}
@media(max-width:600px){.qi-failure,.qi-ticket-row{padding:12px}.qi-ticket .card-body{padding:14px}.qi-failure-form .form-textarea,.qi-fields .form-textarea{font-size:16px}.qi-ticket-summary>strong{font-size:20px}.qi-ticket-rows{grid-template-columns:1fr}}

.same-sku-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:12px;padding:12px 15px;margin:0 0 14px;font-size:13px;line-height:1.7}.same-sku-note strong{display:block}.item-rule{font-size:12px;color:#475569;line-height:1.7;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.qi-tag span{display:block;margin-top:4px}.qf-item .qi-custom-note{margin:12px 0 0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#475569}
.content .grid,.content .grid>*{min-width:0}.content .card{min-width:0}.content .card-head>div{min-width:0}.artwork-link{flex-wrap:wrap}.artwork-link>span{flex:1 1 180px;min-width:0}.modal-body{overflow-wrap:anywhere}
.fin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.fin-issues{max-height:180px;overflow:auto;margin-top:12px}
.fin-issues p{margin:5px 0}
@media(max-width:700px){.fin-tabs .btn{flex:1 1 100%}}
.bill-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.bill-tabs .btn{min-width:150px}@media(max-width:700px){.bill-tabs .btn{flex:1 1 100%}}
.demo-unified-bar{border:1px solid #cbd5e1;border-radius:12px;padding:12px 16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f8fafc}.demo-unified-bar strong{display:block;font-size:14px}.demo-unified-bar span{display:block;font-size:12px;color:#64748b;margin-top:4px}.demo-unified-bar select{max-width:240px}fieldset:disabled{opacity:.8}.brand-mark img{max-width:100%;max-height:100%}@media(max-width:800px){.demo-unified-bar{align-items:flex-start;flex-direction:column}.demo-unified-bar .flex{width:100%;flex-wrap:wrap}.demo-unified-bar select{max-width:100%;flex:1}}
/* SCR-030, v48 */
.s48-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:20px;align-items:start}.s48-menu{position:sticky;top:90px;display:grid;gap:5px;padding:12px;background:white;border:1px solid var(--line);border-radius:14px}.s48-menu button{text-align:left;padding:12px;border:0;background:transparent;border-radius:9px;color:#526078;font-weight:650;cursor:pointer}.s48-menu button.active{color:#174fa6;background:#edf4ff}.s48-menu small{display:block;font-size:11px;font-weight:400;margin-top:3px}.s48-stack{display:grid;gap:18px;min-width:0}.s48-stack .grid-3{grid-template-columns:minmax(0,1fr)}.s48-stack .col-span-2{grid-column:auto}.s48-lock{padding:13px 16px;background:#fff9de;border:1px solid #efdc83;border-radius:10px;color:#6b5500;line-height:1.6}.s48-note{padding:12px 16px;background:#f1f6fc;border:1px solid #dce7f4;border-radius:10px;color:#50627a;font-size:12px;line-height:1.65}.s48-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.s48-table td,.s48-table th{vertical-align:top}.s48-table small{display:block;margin-top:4px;color:#718096}.s48-pills{display:flex;gap:5px;flex-wrap:wrap}.s48-pill{font-size:11px;padding:4px 7px;background:#edf3fb;color:#265491;border-radius:6px;display:inline-block}.s48-profile{display:flex;gap:18px;align-items:center}.s48-avatar{width:72px;height:72px;border-radius:20px;object-fit:cover;background:#edf3fb;display:grid;place-items:center;font-size:24px;font-weight:800;color:#2563eb}.s48-roles{display:grid;gap:9px}.s48-role{display:block;border:1px solid #dfe5ef;border-radius:10px;padding:12px}.s48-role small{display:block;margin:4px 0 0 25px;color:#63718a;line-height:1.5}.s48-draft{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid #cddff0;border-radius:12px;background:#f5faff;margin-bottom:16px}.s48-draft strong{font-size:13px}.s48-draft small{display:block;color:#60758e;font-size:11px;margin-top:3px}.s48-login{max-width:520px;margin:8vh auto;padding:32px;background:white;border:1px solid #dfe5ef;border-radius:20px;box-shadow:0 20px 65px #213c6414}.s48-empty{padding:35px;text-align:center;color:#64748b}.s48-count{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.s48-count strong{font-size:24px;display:block}.s48-message{padding:14px;border-bottom:1px solid #e7ecf3}.s48-mail{white-space:pre-wrap;line-height:1.65;font-size:13px}.s48-readonly{opacity:.8}.s48-dialog-error{padding:10px;color:#b42318;background:#fff1f0;margin-bottom:10px;border-radius:8px}.s48-review-code{font-size:11px;color:#a0760d}.s48-table .btn{white-space:nowrap}.s48-demo-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:12px 16px;border-radius:12px;background:#eef4fb;border:1px solid #d9e5f4}.s48-demo-bar select{min-width:240px;max-width:380px}.s48-demo-bar small{display:block;color:#5f7089}.s48-perms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:50vh;overflow:auto}.s48-perms label{padding:9px;border:1px solid #e5e9f1;border-radius:8px;font-size:12px}.s48-diff{display:grid;grid-template-columns:1fr 1fr;gap:14px}.s48-diff>div{background:#f7f9fc;padding:14px;border-radius:10px}.s48-muted{color:#708096;font-size:12px}.s48-card-foot{padding:16px 20px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1050px){.s48-layout{grid-template-columns:1fr}.s48-menu{position:static;display:flex;overflow:auto}.s48-menu button{min-width:150px}.s48-menu small{display:none}}@media(max-width:650px){.s48-perms,.s48-diff{grid-template-columns:1fr}.s48-demo-bar select{min-width:0;max-width:100%;width:100%}.s48-login{margin:20px;padding:22px}.s48-profile{align-items:flex-start}.s48-table{min-width:660px}}

/* 49 — R02: order-management review */
.r49-work{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 10px}
.r49-work button{appearance:none;text-align:left;background:#fff;border:1px solid #dce3ed;border-radius:14px;padding:18px 20px;cursor:pointer;color:#17243b;position:relative;transition:box-shadow .15s,border-color .15s;font:inherit}
.r49-work button:hover{border-color:var(--tone);box-shadow:0 5px 18px #10203b0c}.r49-work button[aria-pressed=true]{border:2px solid var(--tone);padding:17px 19px;background:var(--tint)}
.r49-work .r49-work-label{display:flex;align-items:center;gap:8px;font-weight:650;font-size:13px;color:var(--tone)}.r49-work strong{font-size:34px;letter-spacing:-1px;display:block;line-height:1.25;margin:12px 0 5px;font-variant-numeric:tabular-nums}.r49-work small{display:block;font-size:11px;color:#64748b;line-height:1.5}
.r49-scope{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#526276}.r49-scope .code-chip{background:#fff7d6;border-color:#efd784;color:#805800}.r49-note{font-size:11px;color:#64748b;margin:0 0 18px}.r49-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid #e7edf4}.r49-list-head h3{margin:0;font-size:16px}.r49-list-head p{margin:4px 0 0;font-size:12px;color:#64748b}.r49-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.r49-filter{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(125px,1fr));gap:12px;padding:18px 20px 12px}.r49-filter label,.r49-date label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:#64748b}.r49-filter input,.r49-filter select,.r49-date input{min-height:39px;width:100%;border:1px solid #dce3ed;background:white;border-radius:8px;padding:8px 10px;font-size:13px;color:#27364d}.r49-dates{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:0 20px 16px;border-bottom:1px solid #e7edf4}.r49-date{min-width:145px}.r49-filter-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#eef4ff;color:#245ac2;font-size:12px}
.r49-table{min-width:950px}.r49-table td{vertical-align:middle}.r49-table .r49-order{font-size:12px;color:#255bbd;font-weight:750;background:none;border:0;cursor:pointer;padding:0;text-align:left;white-space:nowrap}.r49-table .r49-product{display:flex;align-items:center;gap:10px;max-width:235px}.r49-table .r49-product img{width:46px;height:52px;border:1px solid #e6ebf1;background:#f7f9fc;border-radius:7px;object-fit:contain}.r49-table .r49-product span{display:block}.r49-table .r49-product .table-primary{font-size:12px;line-height:1.4}.r49-table .table-secondary{font-size:10px;line-height:1.5}.r49-table .r49-country{display:inline-flex;border:1px solid #e2e8f0;padding:4px 7px;border-radius:6px;font-size:11px;color:#475569;font-weight:700}.r49-table .badge{font-size:10px;white-space:nowrap}.r49-table .order-risk strong{font-size:11px}.r49-table .mini-meta{font-size:10px}.r49-table .r49-qty{font-size:14px;font-weight:700;text-align:center}.r49-pager{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#64748b;flex-wrap:wrap}
.r49-picker{position:relative}.r49-picker-panel{position:absolute;right:0;top:44px;width:260px;padding:16px;z-index:40;background:white;border:1px solid #dce3ed;box-shadow:0 15px 35px #14203b20;border-radius:12px}.r49-picker-panel label{display:flex;gap:9px;align-items:center;padding:7px 0;font-size:12px}.r49-picker-panel p{font-size:11px;color:#64748b;line-height:1.6}.r49-lock{border:1px solid #ead98a;background:#fff9e3;border-radius:9px;padding:11px 14px;color:#806318;font-size:12px;line-height:1.65;margin-bottom:16px}.r49-price-total{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;background:#f6f9ff;color:#1d4d91;border-top:1px solid #e4eaf2}.r49-price-total strong{font-size:20px}.r49-price-table td{white-space:normal}.r49-price-table td:nth-last-child(-n+3){white-space:nowrap}.r49-read-only{margin-bottom:16px;padding:12px 16px;border:1px solid #d8e5f8;background:#f5f9ff;border-radius:10px;font-size:12px;color:#42618b}.r49-statuses{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.r49-statuses>div{border:1px solid #e0e7ef;background:#fff;border-radius:10px;padding:16px}.r49-statuses small{color:#64748b;font-size:11px;display:block;margin-bottom:7px}.r49-statuses strong{font-size:16px;display:block}.r49-statuses p{color:#64748b;font-size:11px;margin:6px 0 0;line-height:1.5}
.r49-mode .review-banner,.r49-mode .demo-unified-bar{display:none}.r49-mode .content{padding-top:20px}.r49-mode .s48-demo-bar{background:#f7f9fc;border:1px solid #dfe6ee}.r49-mode .nav-item{font-size:12px}.r49-mode .workflow-preview{display:none}.r49-mode .s48-demo-bar small{font-size:11px}.r49-mode .page-head h2{font-size:26px}.r49-mode .order-summary-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.r49-mode .table-wrap{overscroll-behavior-x:contain}
@media(max-width:1200px){.r49-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.r49-work{gap:10px}.r49-work button{padding:15px}.r49-work button[aria-pressed=true]{padding:14px}.r49-mode .order-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.r49-work{grid-template-columns:repeat(2,minmax(0,1fr))}.r49-filter{grid-template-columns:1fr}.r49-work strong{font-size:29px;margin-top:8px}.r49-list-head,.r49-filter,.r49-dates{padding-left:14px;padding-right:14px}.r49-statuses{grid-template-columns:1fr}.r49-actions{width:100%}.r49-actions>.btn{flex:1}.r49-mode .order-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.r49-work button{min-height:145px}.r49-picker-panel{right:auto;left:0}.r49-date{flex:1}}

.r50-mode .review-banner{display:none}.r50-mode .content{padding-top:20px}.r50-mode .s48-demo-bar{background:#f7f9fc;border:1px solid #dfe6ee}.r50-requests{border:1px solid #dfd1fb;border-radius:12px;background:#faf7ff;padding:18px;margin-bottom:16px}.r50-requests h3{margin:0 0 10px;color:#6131a0;font-size:16px}.r50-requests article{padding:14px 0;border-top:1px solid #eadffa}.r50-requests article:first-of-type{border:0}.r50-requests .r50-request-meta{font-size:11px;color:#786a8d;margin-top:5px}.r50-requests p{white-space:pre-wrap;font-size:13px;margin:8px 0;overflow-wrap:anywhere}.r50-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.r50-summary>div{background:white;border:1px solid #e1e7ef;border-radius:10px;padding:16px}.r50-summary small{display:block;color:#64748b;font-size:11px;margin-bottom:7px}.r50-summary strong{font-size:14px;line-height:1.5}.r50-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}.r50-product{padding:18px;border-bottom:1px solid #e6ebf2}.r50-product:last-child{border-bottom:0}.r50-product-title{display:flex;justify-content:space-between;gap:12px}.r50-product-title h4{font-size:14px;margin:0 0 5px}.r50-product p{margin:8px 0;font-size:13px;overflow-wrap:anywhere}.r50-product .muted{font-size:11px}.r50-product .artwork-link{font-size:12px}.r50-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.r50-photo-list figure{margin:0;border:1px solid #e0e7ef;border-radius:10px;padding:10px}.r50-photo-list img{width:100%;height:155px;object-fit:contain;background:#f8fafc;border-radius:7px}.r50-photo-list figcaption{font-size:11px;color:#64748b;margin-top:8px}.r50-photo-list label{display:flex;gap:8px;align-items:start;margin-top:10px;font-size:12px;line-height:1.5}.r50-product .product-ref-thumb{width:76px;height:85px}.r50-photo-button{border:0;padding:0;background:none;width:100%;cursor:pointer}.r50-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.r50-editor label{display:flex;flex-direction:column;gap:6px;font-size:12px}.r50-editor .wide{grid-column:1/-1}.r50-editor input,.r50-editor select,.r50-editor textarea{border:1px solid #d3ddea;border-radius:8px;padding:10px;font:inherit;min-height:42px}.r50-editor textarea{min-height:80px}.r50-request-kind{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px}.r50-help{font-size:12px;color:#64748b;line-height:1.6}.r50-empty{padding:28px;text-align:center;color:#64748b;font-size:13px}.r50-mode .r49-table{min-width:1060px}.r50-mode .r49-filter{grid-template-columns:2fr 1fr 1fr}.r50-mode .r49-work button{min-height:139px}.r50-mode .nav-section-label{font-size:10px}.r50-bill-link{margin-top:14px}
@media(max-width:850px){.r50-grid{grid-template-columns:1fr}.r50-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.r50-editor{grid-template-columns:1fr}.r50-editor .wide{grid-column:auto}.r50-mode .r49-filter{grid-template-columns:1fr}.r50-request-kind{margin-left:0;width:100%}}

/* 51 — R03 work lists */
.r51-mode .review-banner{display:none}.r51-mode .content{padding-top:20px}.r51-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border:1px solid #dfe6ee;border-radius:11px;background:#f8fafc;margin:14px 0}.r51-context>div:first-child{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.r51-context strong{font-size:13px}.r51-context span:not(.code-chip){font-size:12px;color:#64748b}.r51-rights{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.r51-rights span{padding:4px 8px;border:1px solid #bfdbfe;border-radius:6px;background:#eff6ff;color:#1d4ed8!important;white-space:nowrap}.r51-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.r51-cards button{text-align:left;padding:18px 20px;border:1px solid #dce3ed;border-radius:13px;background:#fff;color:#17243b;font:inherit;cursor:pointer;transition:.15s}.r51-cards button:hover{border-color:var(--r51-tone);box-shadow:0 4px 16px #17243b0a}.r51-cards span{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;color:var(--r51-tone)}.r51-cards strong{display:block;font-size:32px;margin:10px 0 4px;line-height:1.2}.r51-cards small{font-size:11px;color:#64748b}.r51-listhead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px;gap:12px}.r51-listhead p{font-size:12px;color:#64748b;margin:8px 0 0}.r51-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:0 20px 14px;border-bottom:1px solid #e7edf4}.r51-tabs button{font:inherit;font-size:12px;font-weight:650;border:1px solid #dbe3ee;background:#fff;color:#53647b;border-radius:7px;padding:8px 12px;cursor:pointer}.r51-tabs button[aria-pressed=true]{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.r51-filters{display:grid;grid-template-columns:1.8fr 1.1fr 1.1fr 1.1fr auto;align-items:end;gap:10px;padding:16px 20px}.r51-filters label{font-size:11px;font-weight:650;color:#64748b;display:flex;flex-direction:column;gap:6px;min-width:0}.r51-filters input,.r51-filters select{height:38px;max-width:100%;min-width:0;font-size:12px;border:1px solid #d9e2ec;border-radius:8px;padding:8px 10px;color:#334155;background:#fff}.r51-filters button{height:38px}.r51-worklist .card-foot{display:flex;justify-content:space-between;gap:12px;font-size:12px;flex-wrap:wrap}.r51-worklist .card-foot span{color:#64748b}.r51-table{min-width:1060px}.r51-table th{font-size:10px;letter-spacing:.025em}.r51-table td{font-size:12px;vertical-align:middle}.r51-table .table-secondary{font-size:10px;line-height:1.5;margin-top:5px}.r51-paused{display:inline-block;background:#fff7e6;border:1px solid #f3d398;color:#925e08;font-size:11px;line-height:1.5;border-radius:6px;padding:4px 7px;margin-top:6px}.r51-pause-notice{background:#fff7e6;border:1px solid #efd298;border-radius:10px;color:#80550c;padding:14px 18px;margin-bottom:16px;font-size:13px}.r51-empty{text-align:center;padding:30px!important;color:#64748b}.r51-mode .s48-demo-bar{background:#f7f9fc;border:1px solid #dfe6ee}.r51-mode .qf-shell{max-width:100%}.r51-mode .workflow-bulk{margin:0 20px 14px}.r51-mode .production-column-popover{z-index:45}.r51-mode .user-mini>div:nth-child(2){min-width:0}.r51-mode .user-mini span{display:block;overflow-wrap:anywhere}
@media(max-width:1200px){.r51-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.r51-filters .r51-search{grid-column:1/-1}.r51-context{align-items:flex-start;flex-direction:column}.r51-rights{justify-content:flex-start}}@media(max-width:700px){.r51-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.r51-cards button{padding:14px}.r51-cards strong{font-size:27px}.r51-filters{padding:12px;gap:8px}.r51-tabs,.r51-listhead{padding-left:12px;padding-right:12px}.r51-context{padding:12px}.r51-table{min-width:900px}.r51-mode .qf-queue-mobile{padding:0 12px 12px}.r51-mode .workflow-bulk{margin-left:12px;margin-right:12px}}

.r52-context{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 20px;padding:14px 18px;background:#eef4ff;border:1px solid #d9e6fd;border-radius:12px}.r52-context>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.r52-context span:not(.code-chip){font-size:12px;color:#526581}.r52-rights span{background:#fff;border:1px solid #d6e3f6;padding:4px 8px;border-radius:20px}.r52-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.r52-cards>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;background:white;border:1px solid #dce3ec;border-radius:14px;padding:20px;cursor:pointer;color:#102037;box-shadow:0 2px 5px #0b172806}.r52-cards>button:hover,.r52-cards>button[aria-pressed=true]{border-color:var(--r52-tone);box-shadow:0 0 0 2px color-mix(in srgb,var(--r52-tone) 12%,transparent)}.r52-cards span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:var(--r52-tone)}.r52-cards strong{font-size:32px;line-height:1.1;letter-spacing:-1px}.r52-cards small{font-size:12px;color:#66758b}.r52-note{font-size:12px;color:#758299;margin:10px 0 22px}.r52-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 12px}.r52-list-head h3{margin:0 0 6px;font-size:17px}.r52-list-head p{font-size:12px;color:#66758b;margin:0}.r52-list .sh-list-toolbar{border-bottom:1px solid #e6ebf2;padding-bottom:16px}.r52-table{min-width:1150px}.r52-table .sh-actions{min-width:155px}.r52-table .sh-inline-tracking{min-width:170px}.r52-issue{font-size:11px;color:#b42318;margin-top:6px;max-width:200px;line-height:1.4}.r52-empty{padding:42px!important;text-align:center;color:#66758b}.r52-list .card-foot{display:flex;justify-content:space-between;gap:14px;padding:16px 22px;border-top:1px solid #e6ebf2;font-size:12px;color:#66758b}.r52-list .card-foot strong{color:#334155}.r52-monitor-scope{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px}.r52-monitor-scope span{font-size:12px;color:#66758b}.r52-detail-status{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px;background:#f4f7fb;border-radius:10px;margin-bottom:16px}.r52-detail-status>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.r52-detail-status small{font-size:11px;color:#66758b;font-weight:700;letter-spacing:.5px}.r52-recipient{display:flex;flex-direction:column;gap:5px;margin:16px 0 20px;font-size:13px}.r52-recipient span{color:#526581}.r52-alert{padding:12px 16px;background:#fff2f0;color:#b42318;border:1px solid #fed7d2;border-radius:8px}.r52-mode .nav-item span{line-height:1.45}.r52-mode .page-actions{flex-wrap:wrap}.r52-mode .summary-cell:empty{display:none}@media(max-width:1050px){.r52-context{align-items:flex-start;flex-direction:column}.r52-cards{gap:10px}.r52-cards>button{padding:16px}.r52-cards span{font-size:13px}}@media(max-width:700px){.r52-cards{grid-template-columns:1fr}.r52-cards>button{display:grid;grid-template-columns:1fr auto;gap:7px 14px;padding:15px}.r52-cards strong{grid-row:1/3;grid-column:2;font-size:28px;align-self:center}.r52-cards small{grid-column:1}.r52-list-head{align-items:flex-start;padding:16px}.r52-list .card-foot{align-items:flex-start;flex-direction:column}.r52-detail-status{grid-template-columns:1fr}.shipping-approved-tabs{overflow-x:auto;flex-wrap:nowrap}.shipping-approved-tabs>button{white-space:nowrap}.r52-context>div{align-items:flex-start}}

.r53-context{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#eef4ff;border:1px solid #d9e6fd;border-radius:12px;padding:14px 18px;margin-bottom:20px}.r53-context>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.r53-context span:not(.code-chip){font-size:12px;color:#526581}.r53-right{padding:4px 9px;border:1px solid #d6e3f6;background:#fff;border-radius:20px}.r53-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.r53-cards>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce3ec;border-radius:13px;padding:18px;color:#102037}.r53-cards>button:hover,.r53-cards>button[aria-pressed=true]{border-color:var(--r53-tone);box-shadow:0 0 0 2px color-mix(in srgb,var(--r53-tone) 12%,transparent)}.r53-cards span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:var(--r53-tone);min-height:36px}.r53-cards strong{font-size:30px;line-height:1}.r53-cards small{font-size:11px;color:#758299}.r53-note{font-size:12px;color:#66758b;margin:10px 0 22px}.r53-tabs{display:flex;flex-wrap:wrap;gap:6px;background:#f0f3f8;padding:6px;border-radius:11px;margin-bottom:20px}.r53-tabs button{border:0;background:transparent;color:#56657c;padding:10px 12px;font:inherit;font-size:12px;font-weight:600;border-radius:7px;cursor:pointer}.r53-tabs button[aria-pressed=true]{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #1e293b14}.r53-list-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px}.r53-list-head h3{font-size:17px;margin:9px 0 5px}.r53-list-head p{font-size:12px;color:#66758b;margin:0}.r53-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:0 20px 18px;border-bottom:1px solid #e6ebf2}.r53-filters label,.r53-inline-filter label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:650;color:#64748b}.r53-filters input,.r53-filters select,.r53-inline-filter select{height:37px;border:1px solid #dce3ec;border-radius:7px;padding:7px 10px;background:#fff;font:inherit;font-size:12px;color:#334155;min-width:130px}.r53-filters .r53-search{flex:1;min-width:190px}.r53-inline-filter{display:flex;margin:0 0 14px}.r53-inline-filter select{min-width:240px}.r53-table{min-width:1000px}.r53-table td.text-right{white-space:nowrap;font-variant-numeric:tabular-nums}.r53-empty{padding:40px!important;text-align:center;color:#66758b}.r53-totals{display:flex;flex-wrap:wrap;gap:12px 25px;padding:16px 20px;border-top:1px solid #e6ebf2;font-size:12px;color:#526581}.r53-picker{position:relative}.r53-picker-panel{position:absolute;right:0;top:43px;z-index:30;width:240px;padding:16px;background:#fff;border:1px solid #dce3ec;border-radius:10px;box-shadow:0 12px 28px #10203722}.r53-picker-panel strong{font-size:13px}.r53-picker-panel label{display:flex;align-items:center;gap:8px;margin:11px 0;font-size:12px;color:#526581}.r53-issue{font-size:12px;color:#a16207;line-height:1.5}.r53-callout{padding:13px 16px;background:#fff9e9;border:1px solid #f7dfab;border-radius:9px;color:#8a5a16;line-height:1.6}.r53-receipt-match{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid #e6ebf2;border-radius:8px;margin:10px 0}.r53-receipt-match span{flex:1;font-size:13px}.r53-mode .nav-item span{line-height:1.45}.r53-mode .page-actions{flex-wrap:wrap}.r53-money .kpi-value{font-size:24px}@media(max-width:1200px){.r53-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.r53-context{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.r53-cards{grid-template-columns:1fr}.r53-cards>button{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:14px}.r53-cards strong{grid-row:1/3;grid-column:2;align-self:center;font-size:28px}.r53-cards span{min-height:0}.r53-cards small{grid-column:1}.r53-list-head{align-items:flex-start;flex-direction:column;padding:16px}.r53-filters{padding:0 16px 16px}.r53-tabs{flex-wrap:nowrap;overflow-x:auto}.r53-tabs button{white-space:nowrap}.r53-totals{flex-direction:column;gap:9px}.r53-picker-panel{left:0;right:auto}.r53-receipt-match{align-items:flex-start;flex-direction:column}}

.r54-toolbar{margin:0 20px 18px;padding:14px 16px;border:1px solid #cddff8;background:#f2f7ff;border-radius:10px}.r54-selection,.r54-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.r54-selection>strong{font-size:13px;color:#173b6b}.r54-actions{margin-top:10px}.r54-toolbar p{font-size:12px;line-height:1.6;color:#526581;margin:10px 0 0}.r54-select{width:44px;min-width:44px;text-align:center!important}.r54-select input{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.r54-selected>td{background:#eef5ff!important}.r54-preview table{min-width:720px}.r54-preview td{vertical-align:top}.r54-reason{font-size:12px;color:#64748b;line-height:1.5;margin-top:5px;max-width:430px}.r54-callout{padding:13px 16px;background:#eff5ff;border:1px solid #dbe7fa;border-radius:9px;color:#37577f;font-size:13px;line-height:1.7;margin:16px 0}.r54-common-ref{display:flex;gap:10px;align-items:center;margin:16px 0}.r54-common-ref input{flex:1}.r54-preview input[data-r54-cost-ref]{min-width:170px}@media(max-width:700px){.r54-toolbar{margin:0 16px 16px;padding:12px}.r54-selection{align-items:flex-start}.r54-selection .code-chip{width:100%}.r54-actions .btn{flex:1 1 160px}.r54-common-ref{align-items:stretch;flex-direction:column}}

/* Bản 58 · Carrier trong Cài đặt chung */
.r58-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.r58-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.r58-actions .form-select{width:auto;min-width:170px}
.r58-form .form-label{margin:11px 0 5px}
.r58-form .form-label:first-child{margin-top:0}
.r58-form small{display:block;color:#64748b;margin-top:4px}
.r58-form .r58-actions{margin-top:17px}
.r58-selected{background:#edf5ff}
.r58-table{min-width:980px}
.r58-table td{vertical-align:middle;white-space:nowrap}
.r58-table .r58-input{min-width:100px;max-width:175px;padding:8px 9px;font-size:12px}
.r58-table [data-r58-field="service"]{min-width:170px}
.r58-table [data-r58-field="condition"]{min-width:160px}
.r58-table [data-r58-field="country"]{min-width:65px}
.r58-table [data-r58-field="effective"]{min-width:135px}
.r58-table .r58-pair{display:flex;align-items:center;gap:5px}
.r58-table .r58-pair .r58-input{min-width:70px;max-width:100px}
.r58-table .r58-pair select.r58-input{min-width:75px}
.r58-controls{min-width:160px}
.r58-controls button+button{margin-left:5px}
@media(max-width:800px){.r58-tabs .btn{flex:1}.r58-form .form-control{font-size:16px}}


/* API bindings: shared prototype 58 visuals, real authenticated data. */

[hidden]{display:none!important}button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}button.primary:hover{background:var(--blue-700)}
.page-head h1{margin:0;font-size:24px;line-height:1.25;letter-spacing:-.028em}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.panel{background:var(--surface);padding:18px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px}.panel h2{font-size:15px;margin:0 0 14px}.panel h3{font-size:14px}.panel p{font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat strong{display:block;font-size:28px;margin-top:10px}.stat small{color:var(--ink-600)}
label.form-group{display:flex;flex-direction:column;gap:6px;margin:0}.form-group .form-label{margin:0}.ws-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ws-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ws-form-grid>.wide{grid-column:1/-1}
.detail-dl{display:grid;grid-template-columns:145px minmax(0,1fr);gap:10px;margin:0;font-size:13px}.detail-dl dt{color:var(--ink-600)}.detail-dl dd{margin:0;overflow-wrap:anywhere}.table-scroll{overflow:auto}.table-scroll table{min-width:700px}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.toolbar>.form-group{flex:1 1 150px;min-width:0;max-width:260px}.toolbar button{align-self:end}.check{display:flex;align-items:center;gap:8px;font-size:12px}.check input{width:16px;height:16px;accent-color:var(--blue)}.link{border:0;background:transparent;color:var(--blue);padding:0;text-align:left}.wrap{overflow-wrap:anywhere}.empty{padding:36px;text-align:center;color:var(--ink-500)}.notice{padding:13px 16px;background:var(--blue-soft);color:#37577f;border:1px solid #dbe7fa;border-radius:9px;margin:12px 0;font-size:12px}.errorbox{padding:13px 16px;border-radius:9px;background:var(--red-soft);color:#b42318;white-space:pre-wrap;font-size:13px}
.badge.ok{background:var(--green-soft);color:#047857}.badge.warn{background:var(--blue-soft);color:#1d4ed8}.badge.error{background:var(--red-soft);color:#b42318}.columns{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#f8fafc;border-block:1px solid var(--line)}.loading{opacity:.6;pointer-events:none}
.tone-draft{--tone:#64748b;--tint:#f8fafc}.tone-review{--tone:#2563eb;--tint:#eff6ff}.tone-active{--tone:#b7790a;--tint:#fffbeb}.tone-done{--tone:#047857;--tint:#ecfdf5}.r49-table{min-width:1080px}.r49-table .table-link{font-weight:750;font-size:13px}.r49-product{min-width:160px}.r49-product img,.ws-list-image{width:54px;height:54px;flex:none;object-fit:cover;border:1px solid var(--line);border-radius:8px}.ws-no-image{width:54px;height:54px;flex:none;display:grid;place-items:center;color:#94a3b8;background:#f4f7fb;border:1px solid var(--line);border-radius:8px}.ws-no-image .icon{width:22px;height:22px}
.ws-info-card{align-content:start}.r50-product h4{margin:0 0 5px}.r50-product p{font-size:13px}.r50-product .reference-gallery{margin-top:12px}.reference-gallery{display:flex;flex-wrap:wrap;gap:8px}.reference-gallery .ref-slot{position:relative}.ref-slot{position:relative}.ref-slot .product-ref-thumb{display:block}.ref-slot img{width:100%;height:100%;object-fit:cover}.ref-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#94a3b8;background:#f4f7fb;pointer-events:none;border-radius:9px}.ref-slot:has(img.loaded) .ref-placeholder{display:none}.product-ref-thumb{padding:0;background:#f8fafc}.ref-download{display:block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;color:#64748b}.product-ref-add{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column}.product-ref-add input{position:absolute;width:1px;height:1px;opacity:0}.files{display:flex;flex-wrap:wrap;gap:8px}.product-ref-remove{z-index:2;padding:0;background:rgba(15,23,42,.78);color:#fff}.ws-preview-image{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.ws-photo-grid{display:flex;flex-wrap:wrap;gap:14px}.ws-photo-grid figure{margin:0;width:140px}.ws-photo-grid .product-ref-thumb{width:140px;height:140px}.ws-photo-grid figcaption{font-size:11px;color:#64748b;margin-top:6px}
.ws-form-aside{grid-column:3;grid-row:1/5;align-self:start}.ws-order-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,.8fr);gap:16px}.ws-order-form>section{grid-column:1/3}.ws-order-form .line{padding:0;margin:0 0 14px}.line-item-head{display:flex;justify-content:space-between;align-items:center}.ws-item-body{padding:16px;display:grid;gap:16px}.ws-personalization{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.ws-amount .row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:12px}.ws-amount .total{border-top:1px solid var(--line);font-weight:750}.ws-draft-bar{margin-bottom:16px}.save-state{font-size:11px;color:#64748b}.ws-sku-note{font-size:11px;color:#64748b;margin:0}.ws-item-price{color:#1d4ed8;font-weight:650}.artwork-link{display:flex;justify-content:space-between;align-items:center;gap:10px;overflow-wrap:anywhere}.artwork-link>a{color:var(--blue);font-size:12px}.r50-summary{margin-top:15px}.r50-requests .change-grid{margin-top:12px}.change-grid .change-cell{overflow-wrap:anywhere}.ws-shipment{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.6fr);gap:16px}
.ws-product-visual{height:210px;background:#f4f7fb;display:grid;place-items:center;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;color:#98a5b8}.ws-product-visual img{height:210px;width:100%;object-fit:contain}.ws-product-gallery{display:flex;flex-wrap:wrap;gap:12px}.ws-product-gallery .product-ref-thumb{width:150px;height:150px}.ws-product-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}.ws-product-main{display:grid;gap:16px}.ws-product-side{display:grid;align-content:start;gap:16px}.ws-resource{border:1px solid var(--line);border-radius:9px;padding:14px}.ws-resource strong{display:block;margin-bottom:10px;font-size:12px}.ws-lead{white-space:nowrap}.ws-catalog .data-table{min-width:950px}.ws-catalog .product-thumb{padding:0;overflow:hidden}.ws-catalog .product-thumb img{width:100%;height:100%;object-fit:cover}.ws-catalog .product-thumb .ref-placeholder{position:static;width:100%;height:100%}
.ws-import-steps{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.ws-import-steps>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.ws-import-steps>span.active{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}.ws-import-steps b{display:grid;place-items:center;border-radius:50%;width:22px;height:22px;background:#e9eef6}.ws-import-steps .active b{background:#2563eb;color:#fff}.ws-import-selection{max-width:620px}.ws-import-selection input[type=file]{padding:14px;background:#f8fafc}.ws-finance-total{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.ws-finance-total .card-body>span{display:block;font-size:11px;color:#64748b}.ws-finance-total strong{font-size:25px;display:block;margin:12px 0 5px}.ws-finance-total small{font-size:11px;color:#64748b}.ws-bill{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px}.ws-bill>.card{min-width:0}.payment-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.payment-qr{display:block;width:260px;max-width:100%;height:auto;background:#fff;border:1px solid var(--line)}.change-row{padding:15px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.change-row .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.change-row p{margin:12px 0}.ws-profile{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ws-profile-card{display:flex;gap:16px;align-items:center;margin-bottom:20px}.ws-profile-card .avatar{width:76px;height:76px;font-size:24px}.ws-profile-card img{object-fit:cover}.ws-profile-card p{color:#64748b;font-size:12px;margin:5px 0}.ws-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ws-role{border:1px solid var(--line);border-radius:10px;padding:16px}.ws-role small{display:block;color:#64748b;overflow-wrap:anywhere}.ws-notification{display:flex;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.ws-notification>div:last-child{flex:1}.ws-notification h3{margin:0 0 7px;font-size:13px}.ws-notification p{margin:0 0 8px;font-size:12px;color:#64748b}.ws-notification small{color:#94a3b8;font-size:11px}.ws-notification.read{opacity:.65}.ws-notification .avatar{background:var(--blue-soft);color:var(--blue)}
dialog{border:1px solid var(--line);border-radius:16px;width:min(720px,calc(100vw - 28px));padding:24px;max-height:90vh;overflow:auto;color:var(--ink-950);box-shadow:var(--shadow-lg)}dialog::backdrop{background:rgba(7,17,31,.55)}dialog:has(.ws-preview-image){width:min(900px,calc(100vw - 28px))}dialog:has(.payment-grid),dialog:has(.change-row){width:min(850px,calc(100vw - 28px))}dialog form{display:grid;gap:16px}dialog .heading{margin:0}dialog h2{font-size:18px;margin:0}.secret{font-family:monospace;overflow-wrap:anywhere;user-select:all;padding:16px;background:#f0f5f7;border-radius:8px}#toast{position:fixed;right:24px;bottom:24px;max-width:440px;background:#132842;color:white;border-radius:12px;padding:15px 20px;box-shadow:var(--shadow-md);z-index:100}#toast:empty{display:none}
.ws-login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.ws-login-intro{padding:70px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#07111f,#102037);color:white}.ws-login-intro h1{font-size:40px;line-height:1.2;max-width:470px;margin:30px 0 16px}.ws-login-intro p{color:#9fb0c7;max-width:470px;line-height:1.7}.ws-login-form{display:grid;place-items:center;padding:40px}.ws-login-form form{max-width:390px;width:100%;display:grid;gap:20px}.ws-login-form h1{font-size:25px;margin:0}.ws-login-form small{color:#64748b}.ws-login-brand{display:flex;align-items:center;gap:14px}.ws-login-brand strong{letter-spacing:.06em}.ws-login-brand small{display:block;color:#7587a3;font-size:10px;letter-spacing:.12em}
@media(max-width:1100px){.ws-order-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ws-form-aside{grid-column:1/3;grid-row:auto}.ws-product-form,.ws-bill{grid-template-columns:minmax(0,1fr)}.ws-product-side{grid-template-columns:1fr 1fr}.r49-actions{flex-wrap:wrap}}
@media(max-width:760px){.ws-login{display:block}.ws-login-intro{padding:28px}.ws-login-intro h1{font-size:28px;margin:20px 0}.ws-login-form{padding:28px}.ws-form-grid,.ws-form-grid.three,.ws-personalization,.ws-profile,.ws-roles,.ws-product-side,.ws-shipment{grid-template-columns:minmax(0,1fr)}.ws-order-form{display:block}.ws-order-form>section,.ws-form-aside{margin-bottom:16px}.ws-finance-total,.cards{grid-template-columns:minmax(0,1fr);gap:10px}.payment-grid{grid-template-columns:minmax(0,1fr)}.payment-qr{width:min(260px,100%);margin:auto}.detail-dl{grid-template-columns:110px minmax(0,1fr)}.change-row .form-grid{grid-template-columns:minmax(0,1fr)}.heading,.page-head{flex-wrap:wrap}.page-head h1{font-size:22px}.r49-list-head{align-items:flex-start}.topbar .screen-code{display:none}.content{padding:18px 14px 30px}.toolbar>.form-group{max-width:none}.ws-bill,.ws-product-form{display:block}.ws-bill>.card,.ws-product-main,.ws-product-side{margin-bottom:16px}#toast{left:14px;right:14px;bottom:14px;max-width:none}.r50-summary strong{overflow-wrap:anywhere}.artwork-link{align-items:flex-start;flex-direction:column}.artwork-link>span{flex:0 1 auto}}

/* v0.5.3 — review and request clarity */
.required-mark{color:#b42318}.request-editor section{padding:16px 0;border-bottom:1px solid #dce5f0}.request-editor h3{margin:0 0 12px}.request-original{display:block;color:#64748b;overflow-wrap:anywhere}.request-field.changed{background:#eff6ff;border-radius:8px;outline:2px solid #bfdbfe;padding:8px}.request-editor .ws-form-grid{align-items:start}.request-editor .change-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.change-cell{min-width:0;overflow-wrap:anywhere}.change-old{display:block;text-decoration:line-through;color:#8b5260}.change-new{display:block;text-decoration:none;color:#166534;overflow-wrap:anywhere}.has-pending-request{background:#fff9e9!important}.has-pending-request>td:first-child{box-shadow:inset 4px 0 #d97706}.pending-request-badge{display:inline-block;margin-top:4px;padding:4px 8px;border:1px solid #f6cc73;background:#fff2ca;color:#824b00;border-radius:6px;font-size:12px;font-weight:700}.form-control:disabled{background:#edf0f4;color:#7b8795}.request-editor input,.request-editor select{width:100%}.request-editor .ws-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.request-editor .ws-form-grid{grid-template-columns:1fr}}

dialog:has(.request-editor){width:min(980px,calc(100vw - 28px))}.request-editor .form-label{display:block}.request-editor .required-mark{display:inline;margin-left:4px}@media(max-width:650px){.change-grid{grid-template-columns:1fr}.request-editor .change-grid{grid-template-columns:1fr}}

/* v0.5.4: readable integration instructions and bulk order controls */
.api-guide h3{margin:0 0 16px}.api-guide p{margin:12px 0;line-height:1.7}.api-guide code{display:inline-block;padding:3px 7px;margin:2px 4px;overflow-wrap:anywhere}.api-keys>.heading{margin-bottom:14px}.api-keys>p{margin:0 0 20px;line-height:1.7}.api-keys .table-scroll{margin-top:16px}.order-selection{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 20px}.order-selection small{flex-basis:100%}.session-recovery{max-width:680px;margin:10vh auto;padding:28px}.session-recovery .btn{margin:12px 10px 0 0}

/* v0.5.5: shared API labels, codes and dialogs for every permitted account. */
.api-label{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;text-align:left}
.api-label-title{display:block;line-height:1.55;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.api-code{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink-600,#475569)}
.api-label>.api-code{margin:0;padding:0;background:transparent;border:0}
dialog.api-dialog form{min-width:0;gap:20px}
dialog.api-dialog .heading{gap:16px;align-items:flex-start;flex-wrap:wrap}
dialog.api-dialog .heading h2{flex:1;min-width:0;line-height:1.5}
dialog.api-dialog .form-group{display:grid;gap:8px;margin:0;min-width:0}
dialog.api-dialog .form-label{margin:0;line-height:1.5}
dialog.api-dialog .api-options{border:0;padding:0;margin:4px 0 0;min-width:0}
dialog.api-dialog .api-options legend{padding:0;margin:0 0 10px;font-size:15px;font-weight:700;line-height:1.5}
dialog.api-dialog .api-help{margin:0 0 8px;font-size:12px;line-height:1.65;color:var(--ink-600,#475569)}
dialog.api-dialog .api-choice{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:12px;align-items:start;margin:0;padding:12px 0;border-bottom:1px solid var(--line);line-height:1.55;min-width:0}
dialog.api-dialog .api-choice:last-child{border-bottom:0}
dialog.api-dialog .api-choice input{width:17px;height:17px;margin:3px 0 0;padding:0;align-self:start}
dialog.api-dialog p{margin:0;line-height:1.7;overflow-wrap:anywhere}
dialog.api-dialog .secret{margin:0;padding:16px;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
dialog.api-dialog .actions,.api-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
dialog.api-dialog .actions{padding-top:4px;margin:0}
dialog.api-dialog td{vertical-align:top;padding:14px 12px}
.api-keys .data-table td,.api-webhooks .data-table td{vertical-align:top;padding-top:16px;padding-bottom:16px}
.api-object-name{display:block;min-width:100px;max-width:280px;white-space:normal;overflow-wrap:anywhere;line-height:1.65}
.api-endpoint{min-width:160px;max-width:380px}
.api-webhooks>.heading{gap:16px;flex-wrap:wrap;margin-bottom:18px}
@media(max-width:600px){dialog.api-dialog{padding:18px}dialog.api-dialog .api-choice{column-gap:10px}.api-label{gap:7px}.api-row-actions{min-width:140px}.api-code{font-size:11.5px}}
/* API codes/URLs can be long; the first column must not cover action buttons on narrow screens. */
.api-keys .data-table th:first-child,.api-keys .data-table td:first-child,.api-webhooks .data-table th:first-child,.api-webhooks .data-table td:first-child,dialog.api-dialog .data-table th:first-child,dialog.api-dialog .data-table td:first-child{position:static;left:auto;z-index:auto;box-shadow:none}
dialog.api-dialog .table-scroll{min-width:0;max-width:100%;overflow:auto}

/* R04 uses the approved factory shell and responsive form layout. */
.sh-page .card{margin-bottom:18px}.sh-page .p-list-product>div{display:grid;gap:5px;min-width:0}.sh-page .p-list-product small,.sh-page .data-table td>small{display:block;color:#64748b}.sh-page .data-table td{overflow-wrap:anywhere}.sh-page .sh-events article{border-left:3px solid #b4d5f5;padding:3px 0 3px 14px;margin:18px 0}.sh-page .sh-events small{display:block;color:#64748b;margin:5px 0}.sh-page fieldset{border:0;padding:0;margin:0;min-width:0}.sh-page #sh-prepare>fieldset>label{margin-bottom:16px}.sh-page #sh-prepare details{margin-top:16px}.sh-page #sh-prepare summary{cursor:pointer;padding:10px 0}.sh-page fieldset:disabled>.actions{display:none}.sh-page .data-table input[data-sh-inline]{min-width:170px}.sh-page .p-photos{display:flex;gap:8px;flex-wrap:wrap}.sh-page .p-photos img{max-width:100%;height:100%;object-fit:contain}

/* Field feedback shared by Seller and factory forms. */
.field-invalid,.form-control.field-invalid,.form-select.field-invalid,.form-textarea.field-invalid{border:1.5px solid #dc2626!important;background-color:#fff7f7!important;box-shadow:0 0 0 2px #fee2e2!important;scroll-margin-block:110px}
.field-invalid:focus{outline:2px solid #b91c1c;outline-offset:2px}
.field-error-message{display:block;color:#b91c1c;font-size:12px;line-height:1.5;margin-top:6px;font-weight:500;overflow-wrap:anywhere}
.form-feedback-summary{grid-column:1/-1;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:10px;background:#fff5f5;color:#991b1b;padding:14px 16px;margin:0 0 18px;font-size:13px;line-height:1.6;scroll-margin-block:90px}
.form-feedback-summary[hidden]{display:none}.form-feedback-summary ul{margin:6px 0 0;padding-left:20px}.form-feedback-summary li+li{margin-top:4px}.form-error-link{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;cursor:pointer;overflow-wrap:anywhere}.form-error-link:focus-visible{outline:2px solid #b91c1c;outline-offset:3px}

/* Keep carrier/name pairs aligned; the optional lookup link sits below both. */
.sh-tracking-link{grid-column:1 / -1}
/* v0.7.4: QC photo requests and scheduled handover. */
.qc-handover{display:grid;gap:5px;padding:14px 16px;margin:14px 0;background:#edf4fb;border:1px solid #cedded;border-radius:10px;color:#214665}.qc-handover span{font-size:13px}.qc-hold{background:#fff2dc;border-color:#ebc482;color:#714a10}.qc-request-dialog{max-width:850px;min-width:min(650px,80vw)}.qc-request-dialog form,.qc-request-upload{display:grid;gap:14px;margin:20px 0}.qc-request-dialog textarea{min-height:85px;width:100%}.qc-request-dialog label{display:grid;gap:8px}.qc-request-note{padding:14px;border:1px solid #dbe4ec;border-radius:10px;margin:12px 0}.qc-request-note p{white-space:pre-wrap;overflow-wrap:anywhere}.qc-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.qc-request-photo{padding:10px;border:1px solid #cbd9e5;border-radius:9px;overflow-wrap:anywhere}.qc-request-photo img{width:100%;height:150px;object-fit:contain;background:#f4f7fa}.qc-request-photo input{width:auto}.qc-request-upload{padding:16px;background:#f2f6fa;border-radius:10px}.qc-request-badge{display:block;color:#8b570a;font-weight:700;font-size:12px;margin-top:6px}.qc-request-dialog button{justify-self:start}.qc-request-dialog details{margin:18px 0}

/* R05 finance */
.fin-page{display:grid;gap:18px}.fin-tabs{display:flex;gap:8px;flex-wrap:wrap}.fin-page td{vertical-align:top}.fin-page td small{display:block;margin-top:4px;color:var(--ink-500,#68778c)}.fin-page .actions{flex-wrap:wrap;gap:8px}.fin-page .data-table{min-width:780px}.fin-page .card-body{min-width:0}.fin-batch{margin:12px 0;padding:12px;border:1px solid #dce3ec;border-radius:10px}.fin-batch summary{cursor:pointer;font-weight:600}.fin-page input[type=checkbox]{width:18px;height:18px}#fin-form .data-table{min-width:480px}#fin-form input.form-control{min-width:100px}#fin-form{max-width:100%;overflow:hidden}#fin-form .ws-form-grid{margin-top:14px}@media(max-width:640px){.fin-tabs .btn{font-size:12px}.fin-page .r50-summary{grid-template-columns:1fr 1fr}.fin-page h1{font-size:24px}}

/* Shared list controls v0.8.1 */
.table-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 16px;background:#f7f9fc;border-block:1px solid #e2e8f0;min-width:0}.table-tool-field{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:120px;max-width:230px}.table-tool-field input,.table-tool-field select{width:100%;min-width:0}.table-column-picker{position:relative;align-self:center}.table-column-picker summary{cursor:pointer;white-space:nowrap}.table-column-panel{position:absolute;z-index:20;top:30px;right:0;background:white;box-shadow:0 6px 25px #14223830;border:1px solid #d4dce6;border-radius:8px;padding:14px;width:240px;max-height:340px;overflow:auto}.table-column-panel label{display:flex;margin:7px 0}.table-sort{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer;white-space:nowrap}th[aria-sort=ascending] .table-sort:after{content:' ↑'}th[aria-sort=descending] .table-sort:after{content:' ↓'}.table-pager{align-items:center;justify-content:flex-end}.table-pager>span{margin-right:auto}.table-pager select{width:auto}.data-table [hidden],.data-table tr[hidden]{display:none!important}.tracking-cell{display:flex;gap:6px;align-items:center;white-space:nowrap}.fin-selected-summary{padding:12px 16px;background:#edf6ff;border:1px solid #c8dff4;border-radius:8px;display:flex;gap:20px;flex-wrap:wrap;margin:12px 0}.fin-selected-summary strong{white-space:nowrap}.fin-global-note{font-size:12px;color:#63718a}.table-tools input[type=search]{min-width:120px}.fin-page .r50-summary{margin-bottom:16px}@media(max-width:640px){.table-tools{gap:8px;padding:10px}.table-tool-field{flex:1 1 130px;max-width:none}.table-column-panel{left:0;right:auto}.fin-selected-summary{gap:8px}.table-pager>span{width:100%}}

.r49-pager[hidden],.p-footer[hidden],.wf-column-picker[hidden],label[hidden],span[hidden]{display:none!important}

/* WORLD SPORT UI 0.9.1 — shared visual layer, no business state changes. */
body.ws-ui{--sidebar:244px;--blue:#2457d6;--blue-700:#1944b0;--blue-soft:#edf3ff;--line:#e3e7ed;--line-strong:#cdd5df;--surface-soft:#f4f6f8;--ink-950:#182238;--ink-600:#5b687d;--ink-500:#66758a;--radius:12px;--shadow-sm:0 1px 2px #18223804;font-size:14px;background:#f4f6f8;line-height:1.5}
body.ws-ui :focus-visible{outline:3px solid #7ba3ff;outline-offset:3px}
body.ws-ui .sidebar{background:#fff;color:#344258;border-right:1px solid var(--line)}
body.ws-ui .sidebar-head{height:80px;min-height:80px;padding:20px;border-bottom:1px solid var(--line);gap:11px}
body.ws-ui .brand-mark{background:#2457d6;box-shadow:none;border-radius:10px;width:38px;height:38px;font-size:15px}
body.ws-ui .sidebar-brand strong{color:#182238;font-size:14px;letter-spacing:.03em}
body.ws-ui .sidebar-brand span{color:#69778b;font-size:10px;letter-spacing:.12em;margin-top:3px}
body.ws-ui .tenant-box{margin:18px 14px 10px;padding:12px;border:1px solid var(--line);background:#f8fafc;border-radius:9px}
body.ws-ui .tenant-box small{color:#69778b;font-size:11px}
body.ws-ui .tenant-box strong{color:#344258;font-size:12px;font-weight:600;line-height:1.6;white-space:normal}
body.ws-ui .sidebar-nav{padding:4px 12px 16px}
body.ws-ui .nav-section{margin:14px 0 20px}
body.ws-ui .nav-section-label{color:#7a8799;font-size:10px;font-weight:700;letter-spacing:.09em;padding:0 12px;margin-bottom:8px}
body.ws-ui .nav-item{color:#526075;min-height:40px;padding:10px 12px;font-size:12px;font-weight:550;border-radius:7px;gap:10px;margin:3px 0}
body.ws-ui .nav-item .icon{width:17px;height:17px}
body.ws-ui .nav-item:hover{color:#2457d6;background:#f5f8ff}
body.ws-ui .nav-item.active{background:#edf3ff;color:#2457d6;font-weight:700}
body.ws-ui .nav-item.active:before{display:none}
body.ws-ui .sidebar-foot{border-top:1px solid var(--line);padding:12px}
body.ws-ui .user-mini{background:#f8fafc;padding:10px;gap:8px}
body.ws-ui .user-mini>div:not(.avatar){min-width:0;flex:1}
body.ws-ui .user-mini strong{color:#24324a;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ws-ui .user-mini span{color:#67758a;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ws-ui .avatar{background:#e9effc;color:#2457d6;border-radius:50%;width:32px;height:32px}
body.ws-ui .user-mini .btn-ghost{color:#66758a;flex-shrink:0}
body.ws-ui .topbar{height:66px;padding:0 28px;background:#fff;backdrop-filter:none;gap:12px}
body.ws-ui .page-ident h1,body.ws-ui .ws-top-title{font-size:14px;font-weight:650;color:#344258;letter-spacing:0}
body.ws-ui .page-ident p{font-size:11px;color:#718095;margin-top:3px}
body.ws-ui .topbar-actions{gap:8px}
body.ws-ui .screen-code,body.ws-ui .code-chip{display:none}
body.ws-ui .content{padding:28px 28px 44px;max-width:1920px;margin:0 auto}
body.ws-ui .page-head{margin:0 0 20px;align-items:center;gap:16px}
body.ws-ui .page-head h1{font-size:27px;line-height:1.3;font-weight:720;letter-spacing:-.035em}
body.ws-ui .page-head p{font-size:13px;color:#66758a;line-height:1.6;margin:6px 0 0}
body.ws-ui .page-actions{gap:8px;flex-wrap:wrap}
body.ws-ui .r49-scope{font-size:11px;color:#718095;padding:0;margin:-12px 0 16px}
body.ws-ui .r49-work{gap:12px;margin:16px 0 10px}
body.ws-ui .r49-work button{padding:16px 18px;border-radius:10px;border:1px solid var(--line);box-shadow:none;min-height:125px}
body.ws-ui .r49-work button[aria-pressed=true]{padding:15px 17px;border:2px solid var(--tone);background:var(--tint)}
body.ws-ui .r49-work .r49-work-label{font-size:12px;font-weight:650}
body.ws-ui .r49-work strong{font-size:29px;font-weight:700;line-height:1.15;margin:12px 0 6px;letter-spacing:-1px;color:#202d43}
body.ws-ui .r49-work small{font-size:11px;color:#69778b}
body.ws-ui .r49-note{font-size:11px;color:#69778b;margin:8px 0 20px}
body.ws-ui .card,body.ws-ui .panel{border-radius:12px;border:1px solid var(--line);box-shadow:0 1px 3px #18223804;background:white;min-width:0}
body.ws-ui .card-head,body.ws-ui .r49-list-head{padding:18px 20px;gap:12px}
body.ws-ui .card-head h3,body.ws-ui .r49-list-head h3{font-size:15px;font-weight:650;letter-spacing:-.015em}
body.ws-ui .card-head p,body.ws-ui .r49-list-head p{font-size:11px;line-height:1.6;color:#6b798d;margin-top:5px}
body.ws-ui .card-body{padding:20px;min-width:0}
body.ws-ui .btn{font-size:12px;font-weight:600;min-height:36px;padding:8px 12px;border-radius:7px;box-shadow:none;transition:background .15s,border-color .15s}
body.ws-ui .btn:hover{transform:none}
body.ws-ui .btn-primary,body.ws-ui button.primary{background:#2457d6;border-color:#2457d6;color:#fff}
body.ws-ui .btn-primary:hover,body.ws-ui button.primary:hover{background:#1944b0;border-color:#1944b0}
body.ws-ui .btn-secondary{background:white;border-color:#d9e0e9;color:#46546b}
body.ws-ui .btn-secondary:hover{background:#f5f7fb;border-color:#bac6d6}
body.ws-ui .btn-ghost{background:transparent}
body.ws-ui .btn-sm{min-height:32px;font-size:11px;padding:6px 10px}
body.ws-ui .btn-icon{width:36px;flex:0 0 36px;padding:0}
body.ws-ui .btn-danger-soft{color:#b42318;background:#fff3f1;border-color:#f4d4d1}
body.ws-ui .btn:disabled{opacity:.45;cursor:not-allowed}
body.ws-ui input[type=checkbox]{accent-color:#2457d6;width:16px;height:16px;flex-shrink:0}
body.ws-ui .form-control,body.ws-ui .form-select,body.ws-ui .form-textarea,body.ws-ui .r49-filter input,body.ws-ui .r49-filter select,body.ws-ui .r49-date input{min-height:38px;border:1px solid #d6dde7;border-radius:7px;padding:8px 11px;font-size:13px;box-shadow:none;background:white;color:#27364d}
body.ws-ui .form-control:focus,body.ws-ui .form-select:focus,body.ws-ui .form-textarea:focus{border-color:#769beb;box-shadow:0 0 0 3px #2457d615}
body.ws-ui .form-label,body.ws-ui .r49-filter label,body.ws-ui .r49-date label,body.ws-ui .r49-dates>label,body.ws-ui .p-filters>label{font-size:11px;font-weight:600;color:#5d6b80;gap:6px}
body.ws-ui .r49-filter,body.ws-ui .p-filters{padding:16px 20px 12px;gap:12px}
body.ws-ui .r49-dates{padding:0 20px 16px;gap:12px;border-color:#edf0f4}
body.ws-ui .wf-list-tools{padding:12px 20px;border-color:#edf0f4}
body.ws-ui .bulkbar,body.ws-ui .p-bulk{gap:8px;font-size:12px;padding:12px 16px;background:#f8faff;border-block:1px solid #e8edf5;margin:0}
body.ws-ui .wf-list-tools .bulkbar{margin-top:10px;border:1px solid #e8edf5;border-radius:8px}
body.ws-ui .bulkbar small{font-size:10px;color:#69778b;flex-basis:100%;margin-top:0}
body.ws-ui .bulkbar b{font-size:11px;color:#2457d6;margin-right:6px}
body.ws-ui .table-wrap,body.ws-ui .table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body.ws-ui .data-table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%}
body.ws-ui .data-table th{padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e0e6ee;color:#637188;font-size:11px;font-weight:650;text-transform:none;letter-spacing:0;white-space:nowrap}
body.ws-ui .data-table td{padding:14px;border-bottom:1px solid #edf0f4;color:#344258;vertical-align:middle;line-height:1.55}
body.ws-ui .data-table tbody tr:hover td{background:#f8faff}
body.ws-ui .data-table tbody tr:has(input[type=checkbox]:checked) td{background:#eef4ff}
body.ws-ui .data-table td small{color:#6b798d;font-size:10px;line-height:1.5}
body.ws-ui .data-table td a,body.ws-ui .table-link{color:#2457d6;font-weight:600}
body.ws-ui .data-table .btn{white-space:nowrap}
body.ws-ui .data-table .tracking-cell{align-items:center;gap:8px}
body.ws-ui .badge{font-size:10px;font-weight:600;padding:4px 8px;border-radius:6px;line-height:1.5;white-space:nowrap}
body.ws-ui .badge-green{color:#09734e;background:#eaf6ef}
body.ws-ui .badge-blue{color:#2759b8;background:#edf3ff}
body.ws-ui .badge-amber{color:#a26913;background:#fff6e7}
body.ws-ui .badge-red{color:#b33332;background:#fff0f0}
body.ws-ui .table-tools{padding:12px 20px;background:#fff;gap:10px;border-top:0;border-bottom:1px solid #e8edf3;align-items:end;position:relative}
body.ws-ui .table-tool-field{min-width:120px;max-width:220px;font-size:10px;color:#69778b;gap:5px}
body.ws-ui .table-search-field{flex:1;max-width:360px;margin-right:auto}
body.ws-ui .table-advanced,body.ws-ui .table-column-picker{align-self:end;font-size:11px;color:#46546b;position:static}
body.ws-ui .table-advanced>summary,body.ws-ui .table-column-picker>summary{min-height:36px;padding:9px 12px;border:1px solid #d9e0e9;background:white;border-radius:7px;cursor:pointer;font-weight:600;list-style:none}
body.ws-ui .table-advanced>summary:after,body.ws-ui .table-column-picker>summary:after{content:'⌄';margin-left:12px;color:#718095}
body.ws-ui .table-advanced[open]>summary,body.ws-ui .table-column-picker[open]>summary{border-color:#9eb8ec;color:#2457d6;background:#f5f8ff}
body.ws-ui .table-advanced-panel{position:absolute;top:calc(100% - 6px);right:20px;left:20px;z-index:24;display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:white;padding:18px;border:1px solid #d9e2ef;border-radius:10px;box-shadow:0 12px 28px #1822381c}
body.ws-ui .table-column-panel{top:calc(100% - 6px);right:20px;left:auto;border-color:#d9e2ef;border-radius:10px;box-shadow:0 12px 28px #1822381c;padding:16px;z-index:25;width:260px;max-width:calc(100% - 40px)}
body.ws-ui .table-column-panel label{font-size:12px;padding:5px 0;margin:0;gap:9px}
body.ws-ui .table-pager{padding:12px 20px;background:#fafbfd;border:0;gap:8px;border-radius:0 0 12px 12px}
body.ws-ui .table-pager>span{font-size:11px;color:#69778b}
body.ws-ui .table-pager select{font-size:11px;min-height:32px;padding:6px 9px}
body.ws-ui .table-sort{font-size:11px;font-weight:650;line-height:1.5}
body.ws-ui .table-sort:focus-visible{outline-offset:4px}
body.ws-ui .r50-summary{gap:12px;margin:18px 0}
body.ws-ui .r50-summary>div{padding:16px;border:1px solid var(--line);border-radius:10px;box-shadow:none}
body.ws-ui .r50-summary small{font-size:10px;font-weight:500;color:#69778b;line-height:1.6}
body.ws-ui .r50-summary strong{font-size:16px;line-height:1.5;color:#24324a;font-variant-numeric:tabular-nums}
body.ws-ui .tabs-line{gap:22px;border-bottom:1px solid #dfe5ee;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
body.ws-ui .tab-line-btn{font-size:12px;padding:12px 0;white-space:nowrap;font-weight:600}
body.ws-ui .tab-line-btn.active{color:#2457d6;border-color:#2457d6}
body.ws-ui .p-stat{border-color:var(--line);border-radius:10px;padding:16px;box-shadow:none}
body.ws-ui .p-stat strong{font-size:27px;font-variant-numeric:tabular-nums}
body.ws-ui .fin-tabs{gap:7px;padding:4px;background:#e9edf3;border-radius:9px;width:fit-content;max-width:100%}
body.ws-ui .fin-tabs .btn{border:0;background:transparent;color:#5d6b80}
body.ws-ui .fin-tabs .primary,body.ws-ui .fin-tabs .btn-primary{background:#fff;color:#2457d6;box-shadow:0 1px 3px #18223812}
body.ws-ui .notice{border-radius:8px;background:#f2f6ff;border-color:#dce7fb;color:#526785;font-size:11px;line-height:1.7;padding:10px 14px}
body.ws-ui .main-shell>.notice{margin:16px 28px 0}
body.ws-ui .content>.notice:first-child{margin:0 0 20px}
body.ws-ui .breadcrumbs{font-size:11px;color:#69778b;margin-bottom:16px;flex-wrap:wrap}
body.ws-ui .detail-dl{font-size:12px;gap:12px;line-height:1.7}
body.ws-ui .empty{padding:40px 20px;color:#718095;font-size:13px;line-height:1.7}
body.ws-ui dialog{padding:24px;border:1px solid #dce3ed;border-radius:14px;box-shadow:0 24px 80px #18223833;max-height:calc(100dvh - 32px)}
body.ws-ui dialog::backdrop{background:#101c3280;backdrop-filter:blur(2px)}
body.ws-ui dialog h2{font-size:19px;line-height:1.4}
body.ws-ui #toast{border-radius:10px;background:#20324c;font-size:13px;box-shadow:0 10px 30px #18223826;line-height:1.6}
body.ws-ui [aria-invalid=true],body.ws-ui .form-control[aria-invalid=true]{border-color:#d94848!important;background:#fff8f7;box-shadow:0 0 0 2px #d9484812}
body.ws-ui .ws-login{background:#fff;grid-template-columns:1fr 1fr}
body.ws-ui .ws-login-intro{background:#142c52;padding:clamp(32px,6vw,88px);position:relative;overflow:hidden}
body.ws-ui .ws-login-intro:after{content:'';position:absolute;width:440px;height:440px;border:90px solid #ffffff05;border-radius:50%;right:-190px;bottom:-150px;pointer-events:none}
body.ws-ui .ws-login-intro h1{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.04em;line-height:1.2;margin:48px 0 20px}
body.ws-ui .ws-login-intro p{font-size:15px;line-height:1.8;color:#bdcbdf}
body.ws-ui .ws-login-brand small{color:#9eb1cd;font-size:10px}
body.ws-ui .ws-login-form{padding:48px;background:#fafbfd}
body.ws-ui .ws-login-form form{max-width:390px;gap:22px}
body.ws-ui .ws-login-form h1{font-size:27px;letter-spacing:-.025em}
body.ws-ui .ws-login-form .form-control{min-height:44px}
body.ws-ui .ws-login-form .primary{min-height:44px;font-size:13px}
@media(min-width:901px){body.ws-ui .mobile-menu{display:none}}
@media(max-width:1100px){body.ws-ui{--sidebar:224px}body.ws-ui .content{padding:22px 20px 36px}body.ws-ui .topbar{padding:0 20px}body.ws-ui .r49-work button{padding:14px;min-height:122px}body.ws-ui .r49-work button[aria-pressed=true]{padding:13px}body.ws-ui .r49-work .r49-work-label{font-size:11px}body.ws-ui .wf-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.ws-ui .app-shell{display:block}body.ws-ui .main-shell{margin:0}body.ws-ui .sidebar{width:260px;transform:translateX(-100%);z-index:60}body.ws-ui .sidebar.open{transform:translateX(0)}body.ws-ui .sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#101c3280;z-index:55;border:0}body.ws-ui .mobile-menu{display:inline-flex}body.ws-ui .r49-work{grid-template-columns:repeat(2,minmax(0,1fr))}body.ws-ui .topbar .page-ident p{display:none}body.ws-ui .page-head h1{font-size:24px}}
@media(max-width:600px){body.ws-ui .content{padding:20px 14px 32px}body.ws-ui .topbar{height:60px;padding:0 14px;gap:10px}body.ws-ui .topbar-actions{gap:5px}body.ws-ui .page-ident h1,body.ws-ui .ws-top-title{font-size:12px;white-space:normal}body.ws-ui .topbar .btn{font-size:10px;padding:6px 8px;min-height:34px}body.ws-ui .topbar .btn-icon{width:32px;flex-basis:32px;padding:0}body.ws-ui .page-head{gap:12px}body.ws-ui .page-head h1{font-size:23px}body.ws-ui .page-head p{font-size:12px}body.ws-ui .page-actions{width:100%;justify-content:flex-start}body.ws-ui .r49-work{gap:9px}body.ws-ui .r49-work button{padding:13px;min-height:122px}body.ws-ui .r49-work button[aria-pressed=true]{padding:12px}body.ws-ui .r49-work strong{font-size:27px}body.ws-ui .card-head,body.ws-ui .card-body,body.ws-ui .r49-list-head{padding:16px}body.ws-ui .r49-filter,body.ws-ui .p-filters{padding:14px 16px;grid-template-columns:1fr}body.ws-ui .r49-dates{padding:0 16px 14px}body.ws-ui .r49-dates>.form-group,body.ws-ui .r49-dates>label{min-width:0;width:100%}body.ws-ui .r49-dates>.btn{flex:1}body.ws-ui .wf-list-tools{padding:12px 16px}body.ws-ui .table-tools{padding:12px 16px;gap:8px}body.ws-ui .table-search-field{flex:1 1 100%;max-width:none}body.ws-ui .table-advanced,body.ws-ui .table-column-picker{flex:1}body.ws-ui .table-advanced>summary,body.ws-ui .table-column-picker>summary{font-size:11px;text-align:center}body.ws-ui .table-advanced-panel{left:10px;right:10px;padding:14px;max-height:65dvh;overflow:auto}body.ws-ui .table-advanced-panel .table-tool-field{flex:1 1 100%;max-width:none}body.ws-ui .table-column-panel{right:16px;max-width:calc(100% - 32px)}body.ws-ui .table-pager>span{width:100%;margin-bottom:2px}body.ws-ui .table-pager select{margin-left:auto}body.ws-ui .table-pager>button{flex:1}body.ws-ui .r50-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}body.ws-ui .r50-summary strong{font-size:13px}body.ws-ui .ws-login{display:block}body.ws-ui .ws-login-intro{padding:28px}body.ws-ui .ws-login-intro h1{font-size:28px;margin:28px 0 12px}body.ws-ui .ws-login-intro p{font-size:13px}body.ws-ui .ws-login-form{padding:32px 24px}body.ws-ui .main-shell>.notice{margin:12px 14px 0}body.ws-ui .fin-tabs{width:100%}body.ws-ui .fin-tabs .btn{flex:1}body.ws-ui .form-control,body.ws-ui .form-select,body.ws-ui .form-textarea{font-size:16px}body.ws-ui .table-tool-field .form-control,body.ws-ui .table-tool-field .form-select{font-size:14px}body.ws-ui .p-filters>label:first-child{min-width:0}body.ws-ui .p-filters>label{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){body.ws-ui *,body.ws-ui *:before,body.ws-ui *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* WORLD SPORT UI 0.9.3 — three brand palettes sampled from supplied logo. */
body.ws-ui{--ws-accent:#002F3E;--ws-accent-hover:#001E2A;--ws-accent-soft:#EAF1F4;--ws-action-bg:#002F3E;--ws-action-hover:#001E2A;--ws-on-accent:#FFFFFF;--ws-canvas:#F5F8FA;--ws-surface:#FFFFFF;--ws-soft:#fafcfc;--ws-line:#DFE7EB;--ws-line-strong:#B7C8D0;--ws-ink:#152E39;--ws-muted:#52616A;--ws-nav-bg:#002F3E;--ws-nav-text:#F4F8FA;--ws-nav-active-bg:#FFFFFF;--ws-nav-active-text:#002F3E;--ws-nav-muted:#D7E4E9;--ws-nav-surface:#0D3B48;--ws-focus:#002F3E;}
body.ws-ui [data-theme-choice="ws-blue-white"]{--sample-ink:#002F3E;--sample-base:#FFFFFF;}
body.ws-ui[data-color-theme="ws-white-blue"]{--ws-accent:#002F3E;--ws-accent-hover:#001E2A;--ws-accent-soft:#EAF1F4;--ws-action-bg:#002F3E;--ws-action-hover:#001E2A;--ws-on-accent:#FFFFFF;--ws-canvas:#F5F8FA;--ws-surface:#FFFFFF;--ws-soft:#fafcfc;--ws-line:#DFE7EB;--ws-line-strong:#B7C8D0;--ws-ink:#152E39;--ws-muted:#52616A;--ws-nav-bg:#FFFFFF;--ws-nav-text:#002F3E;--ws-nav-active-bg:#002F3E;--ws-nav-active-text:#FFFFFF;--ws-nav-muted:#52616A;--ws-nav-surface:#F0F5F7;--ws-focus:#002F3E;}
body.ws-ui [data-theme-choice="ws-white-blue"]{--sample-ink:#FFFFFF;--sample-base:#002F3E;}
body.ws-ui[data-color-theme="ws-blue-gold"]{--ws-accent:#002F3E;--ws-accent-hover:#001E2A;--ws-accent-soft:#F3EEE7;--ws-action-bg:#B79975;--ws-action-hover:#C6AD8B;--ws-on-accent:#002F3E;--ws-canvas:#F7F4EF;--ws-surface:#FFFFFF;--ws-soft:#fbfaf7;--ws-line:#E6DFD5;--ws-line-strong:#CFC1AE;--ws-ink:#152E39;--ws-muted:#52616A;--ws-nav-bg:#002F3E;--ws-nav-text:#D7BF98;--ws-nav-active-bg:#B79975;--ws-nav-active-text:#002F3E;--ws-nav-muted:#D7BF98;--ws-nav-surface:#0D3B48;--ws-focus:#002F3E;}
body.ws-ui [data-theme-choice="ws-blue-gold"]{--sample-ink:#002F3E;--sample-base:#B79975;}
/* WORLD SPORT UI 0.9.1 — shared visual layer, no business state changes. */
body.ws-ui{--sidebar:244px;--blue:var(--ws-accent);--blue-700:var(--ws-accent-hover);--blue-soft:var(--ws-accent-soft);--line:var(--ws-line);--line-strong:var(--ws-line-strong);--surface-soft:var(--ws-canvas);--ink-950:var(--ws-ink);--ink-600:var(--ws-muted);--ink-500:var(--ws-muted);--radius:12px;--shadow-sm:0 1px 2px #18223804;font-size:14px;background:var(--ws-canvas);line-height:1.5}
body.ws-ui :focus-visible{outline:3px solid var(--ws-focus);outline-offset:3px}
body.ws-ui .sidebar{background:#fff;color:var(--ws-ink);border-right:1px solid var(--line)}
body.ws-ui .sidebar-head{height:80px;min-height:80px;padding:20px;border-bottom:1px solid var(--line);gap:11px}
body.ws-ui .brand-mark{background:var(--ws-accent);box-shadow:none;border-radius:10px;width:38px;height:38px;font-size:15px}
body.ws-ui .sidebar-brand strong{color:var(--ws-ink);font-size:14px;letter-spacing:.03em}
body.ws-ui .sidebar-brand span{color:var(--ws-muted);font-size:10px;letter-spacing:.12em;margin-top:3px}
body.ws-ui .tenant-box{margin:18px 14px 10px;padding:12px;border:1px solid var(--line);background:var(--ws-soft);border-radius:9px}
body.ws-ui .tenant-box small{color:var(--ws-muted);font-size:11px}
body.ws-ui .tenant-box strong{color:var(--ws-ink);font-size:12px;font-weight:600;line-height:1.6;white-space:normal}
body.ws-ui .sidebar-nav{padding:4px 12px 16px}
body.ws-ui .nav-section{margin:14px 0 20px}
body.ws-ui .nav-section-label{color:var(--ws-muted);font-size:10px;font-weight:700;letter-spacing:.09em;padding:0 12px;margin-bottom:8px}
body.ws-ui .nav-item{color:var(--ws-muted);min-height:40px;padding:10px 12px;font-size:12px;font-weight:550;border-radius:7px;gap:10px;margin:3px 0}
body.ws-ui .nav-item .icon{width:17px;height:17px}
body.ws-ui .nav-item:hover{color:var(--ws-accent);background:var(--ws-accent-soft)}
body.ws-ui .nav-item.active{background:var(--ws-accent-soft);color:var(--ws-accent);font-weight:700}
body.ws-ui .nav-item.active:before{display:none}
body.ws-ui .sidebar-foot{border-top:1px solid var(--line);padding:12px}
body.ws-ui .user-mini{background:var(--ws-soft);padding:10px;gap:8px}
body.ws-ui .user-mini>div:not(.avatar){min-width:0;flex:1}
body.ws-ui .user-mini strong{color:var(--ws-ink);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ws-ui .user-mini span{color:var(--ws-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ws-ui .avatar{background:var(--ws-accent-soft);color:var(--ws-accent);border-radius:50%;width:32px;height:32px}
body.ws-ui .user-mini .btn-ghost{color:var(--ws-muted);flex-shrink:0}
body.ws-ui .topbar{height:66px;padding:0 28px;background:#fff;backdrop-filter:none;gap:12px}
body.ws-ui .page-ident h1,body.ws-ui .ws-top-title{font-size:14px;font-weight:650;color:var(--ws-ink);letter-spacing:0}
body.ws-ui .page-ident p{font-size:11px;color:var(--ws-muted);margin-top:3px}
body.ws-ui .topbar-actions{gap:8px}
body.ws-ui .screen-code,body.ws-ui .code-chip{display:none}
body.ws-ui .content{padding:28px 28px 44px;max-width:1920px;margin:0 auto}
body.ws-ui .page-head{margin:0 0 20px;align-items:center;gap:16px}
body.ws-ui .page-head h1{font-size:27px;line-height:1.3;font-weight:720;letter-spacing:-.035em}
body.ws-ui .page-head p{font-size:13px;color:var(--ws-muted);line-height:1.6;margin:6px 0 0}
body.ws-ui .page-actions{gap:8px;flex-wrap:wrap}
body.ws-ui .r49-scope{font-size:11px;color:var(--ws-muted);padding:0;margin:-12px 0 16px}
body.ws-ui .r49-work{gap:12px;margin:16px 0 10px}
body.ws-ui .r49-work button{padding:16px 18px;border-radius:10px;border:1px solid var(--line);box-shadow:none;min-height:125px}
body.ws-ui .r49-work button[aria-pressed=true]{padding:15px 17px;border:2px solid var(--tone);background:var(--tint)}
body.ws-ui .r49-work .r49-work-label{font-size:12px;font-weight:650}
body.ws-ui .r49-work strong{font-size:29px;font-weight:700;line-height:1.15;margin:12px 0 6px;letter-spacing:-1px;color:var(--ws-ink)}
body.ws-ui .r49-work small{font-size:11px;color:var(--ws-muted)}
body.ws-ui .r49-note{font-size:11px;color:var(--ws-muted);margin:8px 0 20px}
body.ws-ui .card,body.ws-ui .panel{border-radius:12px;border:1px solid var(--line);box-shadow:0 1px 3px #18223804;background:white;min-width:0}
body.ws-ui .card-head,body.ws-ui .r49-list-head{padding:18px 20px;gap:12px}
body.ws-ui .card-head h3,body.ws-ui .r49-list-head h3{font-size:15px;font-weight:650;letter-spacing:-.015em}
body.ws-ui .card-head p,body.ws-ui .r49-list-head p{font-size:11px;line-height:1.6;color:var(--ws-muted);margin-top:5px}
body.ws-ui .card-body{padding:20px;min-width:0}
body.ws-ui .btn{font-size:12px;font-weight:600;min-height:36px;padding:8px 12px;border-radius:7px;box-shadow:none;transition:background .15s,border-color .15s}
body.ws-ui .btn:hover{transform:none}
body.ws-ui .btn-primary,body.ws-ui button.primary{background:var(--ws-accent);border-color:var(--ws-accent);color:#fff}
body.ws-ui .btn-primary:hover,body.ws-ui button.primary:hover{background:var(--ws-accent-hover);border-color:var(--ws-accent-hover)}
body.ws-ui .btn-secondary{background:white;border-color:var(--ws-line-strong);color:var(--ws-ink)}
body.ws-ui .btn-secondary:hover{background:var(--ws-soft);border-color:#bac6d6}
body.ws-ui .btn-ghost{background:transparent}
body.ws-ui .btn-sm{min-height:32px;font-size:11px;padding:6px 10px}
body.ws-ui .btn-icon{width:36px;flex:0 0 36px;padding:0}
body.ws-ui .btn-danger-soft{color:#b42318;background:#fff3f1;border-color:#f4d4d1}
body.ws-ui .btn:disabled{opacity:.45;cursor:not-allowed}
body.ws-ui input[type=checkbox]{accent-color:var(--ws-accent);width:16px;height:16px;flex-shrink:0}
body.ws-ui .form-control,body.ws-ui .form-select,body.ws-ui .form-textarea,body.ws-ui .r49-filter input,body.ws-ui .r49-filter select,body.ws-ui .r49-date input{min-height:38px;border:1px solid var(--ws-line-strong);border-radius:7px;padding:8px 11px;font-size:13px;box-shadow:none;background:white;color:var(--ws-ink)}
body.ws-ui .form-control:focus,body.ws-ui .form-select:focus,body.ws-ui .form-textarea:focus{border-color:var(--ws-focus);box-shadow:0 0 0 3px var(--ws-accent-soft)}
body.ws-ui .form-label,body.ws-ui .r49-filter label,body.ws-ui .r49-date label,body.ws-ui .r49-dates>label,body.ws-ui .p-filters>label{font-size:11px;font-weight:600;color:var(--ws-muted);gap:6px}
body.ws-ui .r49-filter,body.ws-ui .p-filters{padding:16px 20px 12px;gap:12px}
body.ws-ui .r49-dates{padding:0 20px 16px;gap:12px;border-color:var(--ws-line)}
body.ws-ui .wf-list-tools{padding:12px 20px;border-color:var(--ws-line)}
body.ws-ui .bulkbar,body.ws-ui .p-bulk{gap:8px;font-size:12px;padding:12px 16px;background:var(--ws-soft);border-block:1px solid var(--ws-line);margin:0}
body.ws-ui .wf-list-tools .bulkbar{margin-top:10px;border:1px solid var(--ws-line);border-radius:8px}
body.ws-ui .bulkbar small{font-size:10px;color:var(--ws-muted);flex-basis:100%;margin-top:0}
body.ws-ui .bulkbar b{font-size:11px;color:var(--ws-accent);margin-right:6px}
body.ws-ui .table-wrap,body.ws-ui .table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
body.ws-ui .data-table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%}
body.ws-ui .data-table th{padding:12px 14px;background:var(--ws-soft);border-bottom:1px solid var(--ws-line);color:var(--ws-muted);font-size:11px;font-weight:650;text-transform:none;letter-spacing:0;white-space:nowrap}
body.ws-ui .data-table td{padding:14px;border-bottom:1px solid var(--ws-line);color:var(--ws-ink);vertical-align:middle;line-height:1.55}
body.ws-ui .data-table tbody tr:hover td{background:var(--ws-soft)}
body.ws-ui .data-table tbody tr:has(input[type=checkbox]:checked) td{background:var(--ws-accent-soft)}
body.ws-ui .data-table td small{color:var(--ws-muted);font-size:10px;line-height:1.5}
body.ws-ui .data-table td a,body.ws-ui .table-link{color:var(--ws-accent);font-weight:600}
body.ws-ui .data-table .btn{white-space:nowrap}
body.ws-ui .data-table .tracking-cell{align-items:center;gap:8px}
body.ws-ui .badge{font-size:10px;font-weight:600;padding:4px 8px;border-radius:6px;line-height:1.5;white-space:nowrap}
body.ws-ui .badge-green{color:#09734e;background:#eaf6ef}
body.ws-ui .badge-blue{color:#2759b8;background:var(--ws-accent-soft)}
body.ws-ui .badge-amber{color:#a26913;background:#fff6e7}
body.ws-ui .badge-red{color:#b33332;background:#fff0f0}
body.ws-ui .table-tools{padding:12px 20px;background:#fff;gap:10px;border-top:0;border-bottom:1px solid var(--ws-line);align-items:end;position:relative}
body.ws-ui .table-tool-field{min-width:120px;max-width:220px;font-size:10px;color:var(--ws-muted);gap:5px}
body.ws-ui .table-search-field{flex:1;max-width:360px;margin-right:auto}
body.ws-ui .table-advanced,body.ws-ui .table-column-picker{align-self:end;font-size:11px;color:var(--ws-ink);position:static}
body.ws-ui .table-advanced>summary,body.ws-ui .table-column-picker>summary{min-height:36px;padding:9px 12px;border:1px solid var(--ws-line-strong);background:white;border-radius:7px;cursor:pointer;font-weight:600;list-style:none}
body.ws-ui .table-advanced>summary:after,body.ws-ui .table-column-picker>summary:after{content:'⌄';margin-left:12px;color:var(--ws-muted)}
body.ws-ui .table-advanced[open]>summary,body.ws-ui .table-column-picker[open]>summary{border-color:var(--ws-accent);color:var(--ws-accent);background:var(--ws-accent-soft)}
body.ws-ui .table-advanced-panel{position:absolute;top:calc(100% - 6px);right:20px;left:20px;z-index:24;display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:white;padding:18px;border:1px solid var(--ws-line);border-radius:10px;box-shadow:0 12px 28px #1822381c}
body.ws-ui .table-column-panel{top:calc(100% - 6px);right:20px;left:auto;border-color:var(--ws-line);border-radius:10px;box-shadow:0 12px 28px #1822381c;padding:16px;z-index:25;width:260px;max-width:calc(100% - 40px)}
body.ws-ui .table-column-panel label{font-size:12px;padding:5px 0;margin:0;gap:9px}
body.ws-ui .table-pager{padding:12px 20px;background:var(--ws-soft);border:0;gap:8px;border-radius:0 0 12px 12px}
body.ws-ui .table-pager>span{font-size:11px;color:var(--ws-muted)}
body.ws-ui .table-pager select{font-size:11px;min-height:32px;padding:6px 9px}
body.ws-ui .table-sort{font-size:11px;font-weight:650;line-height:1.5}
body.ws-ui .table-sort:focus-visible{outline-offset:4px}
body.ws-ui .r50-summary{gap:12px;margin:18px 0}
body.ws-ui .r50-summary>div{padding:16px;border:1px solid var(--line);border-radius:10px;box-shadow:none}
body.ws-ui .r50-summary small{font-size:10px;font-weight:500;color:var(--ws-muted);line-height:1.6}
body.ws-ui .r50-summary strong{font-size:16px;line-height:1.5;color:var(--ws-ink);font-variant-numeric:tabular-nums}
body.ws-ui .tabs-line{gap:22px;border-bottom:1px solid var(--ws-line);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
body.ws-ui .tab-line-btn{font-size:12px;padding:12px 0;white-space:nowrap;font-weight:600}
body.ws-ui .tab-line-btn.active{color:var(--ws-accent);border-color:var(--ws-accent)}
body.ws-ui .p-stat{border-color:var(--line);border-radius:10px;padding:16px;box-shadow:none}
body.ws-ui .p-stat strong{font-size:27px;font-variant-numeric:tabular-nums}
body.ws-ui .fin-tabs{gap:7px;padding:4px;background:var(--ws-soft);border-radius:9px;width:fit-content;max-width:100%}
body.ws-ui .fin-tabs .btn{border:0;background:transparent;color:var(--ws-muted)}
body.ws-ui .fin-tabs .primary,body.ws-ui .fin-tabs .btn-primary{background:#fff;color:var(--ws-accent);box-shadow:0 1px 3px #18223812}
body.ws-ui .notice{border-radius:8px;background:#f2f6ff;border-color:#dce7fb;color:#526785;font-size:11px;line-height:1.7;padding:10px 14px}
body.ws-ui .main-shell>.notice{margin:16px 28px 0}
body.ws-ui .content>.notice:first-child{margin:0 0 20px}
body.ws-ui .breadcrumbs{font-size:11px;color:var(--ws-muted);margin-bottom:16px;flex-wrap:wrap}
body.ws-ui .detail-dl{font-size:12px;gap:12px;line-height:1.7}
body.ws-ui .empty{padding:40px 20px;color:var(--ws-muted);font-size:13px;line-height:1.7}
body.ws-ui dialog{padding:24px;border:1px solid #dce3ed;border-radius:14px;box-shadow:0 24px 80px #18223833;max-height:calc(100dvh - 32px)}
body.ws-ui dialog::backdrop{background:#101c3280;backdrop-filter:blur(2px)}
body.ws-ui dialog h2{font-size:19px;line-height:1.4}
body.ws-ui #toast{border-radius:10px;background:#20324c;font-size:13px;box-shadow:0 10px 30px #18223826;line-height:1.6}
body.ws-ui [aria-invalid=true],body.ws-ui .form-control[aria-invalid=true]{border-color:#d94848!important;background:#fff8f7;box-shadow:0 0 0 2px #d9484812}
body.ws-ui .ws-login{background:#fff;grid-template-columns:1fr 1fr}
body.ws-ui .ws-login-intro{background:#142c52;padding:clamp(32px,6vw,88px);position:relative;overflow:hidden}
body.ws-ui .ws-login-intro:after{content:'';position:absolute;width:440px;height:440px;border:90px solid #ffffff05;border-radius:50%;right:-190px;bottom:-150px;pointer-events:none}
body.ws-ui .ws-login-intro h1{font-size:clamp(32px,3.2vw,48px);letter-spacing:-.04em;line-height:1.2;margin:48px 0 20px}
body.ws-ui .ws-login-intro p{font-size:15px;line-height:1.8;color:#bdcbdf}
body.ws-ui .ws-login-brand small{color:#9eb1cd;font-size:10px}
body.ws-ui .ws-login-form{padding:48px;background:var(--ws-soft)}
body.ws-ui .ws-login-form form{max-width:390px;gap:22px}
body.ws-ui .ws-login-form h1{font-size:27px;letter-spacing:-.025em}
body.ws-ui .ws-login-form .form-control{min-height:44px}
body.ws-ui .ws-login-form .primary{min-height:44px;font-size:13px}
@media(min-width:901px){body.ws-ui .mobile-menu{display:none}}
@media(max-width:1100px){body.ws-ui{--sidebar:224px}body.ws-ui .content{padding:22px 20px 36px}body.ws-ui .topbar{padding:0 20px}body.ws-ui .r49-work button{padding:14px;min-height:122px}body.ws-ui .r49-work button[aria-pressed=true]{padding:13px}body.ws-ui .r49-work .r49-work-label{font-size:11px}body.ws-ui .wf-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.ws-ui .app-shell{display:block}body.ws-ui .main-shell{margin:0}body.ws-ui .sidebar{width:260px;transform:translateX(-100%);z-index:60}body.ws-ui .sidebar.open{transform:translateX(0)}body.ws-ui .sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#101c3280;z-index:55;border:0}body.ws-ui .mobile-menu{display:inline-flex}body.ws-ui .r49-work{grid-template-columns:repeat(2,minmax(0,1fr))}body.ws-ui .topbar .page-ident p{display:none}body.ws-ui .page-head h1{font-size:24px}}
@media(max-width:600px){body.ws-ui .content{padding:20px 14px 32px}body.ws-ui .topbar{height:60px;padding:0 14px;gap:10px}body.ws-ui .topbar-actions{gap:5px}body.ws-ui .page-ident h1,body.ws-ui .ws-top-title{font-size:12px;white-space:normal}body.ws-ui .topbar .btn{font-size:10px;padding:6px 8px;min-height:34px}body.ws-ui .topbar .btn-icon{width:32px;flex-basis:32px;padding:0}body.ws-ui .page-head{gap:12px}body.ws-ui .page-head h1{font-size:23px}body.ws-ui .page-head p{font-size:12px}body.ws-ui .page-actions{width:100%;justify-content:flex-start}body.ws-ui .r49-work{gap:9px}body.ws-ui .r49-work button{padding:13px;min-height:122px}body.ws-ui .r49-work button[aria-pressed=true]{padding:12px}body.ws-ui .r49-work strong{font-size:27px}body.ws-ui .card-head,body.ws-ui .card-body,body.ws-ui .r49-list-head{padding:16px}body.ws-ui .r49-filter,body.ws-ui .p-filters{padding:14px 16px;grid-template-columns:1fr}body.ws-ui .r49-dates{padding:0 16px 14px}body.ws-ui .r49-dates>.form-group,body.ws-ui .r49-dates>label{min-width:0;width:100%}body.ws-ui .r49-dates>.btn{flex:1}body.ws-ui .wf-list-tools{padding:12px 16px}body.ws-ui .table-tools{padding:12px 16px;gap:8px}body.ws-ui .table-search-field{flex:1 1 100%;max-width:none}body.ws-ui .table-advanced,body.ws-ui .table-column-picker{flex:1}body.ws-ui .table-advanced>summary,body.ws-ui .table-column-picker>summary{font-size:11px;text-align:center}body.ws-ui .table-advanced-panel{left:10px;right:10px;padding:14px;max-height:65dvh;overflow:auto}body.ws-ui .table-advanced-panel .table-tool-field{flex:1 1 100%;max-width:none}body.ws-ui .table-column-panel{right:16px;max-width:calc(100% - 32px)}body.ws-ui .table-pager>span{width:100%;margin-bottom:2px}body.ws-ui .table-pager select{margin-left:auto}body.ws-ui .table-pager>button{flex:1}body.ws-ui .r50-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}body.ws-ui .r50-summary strong{font-size:13px}body.ws-ui .ws-login{display:block}body.ws-ui .ws-login-intro{padding:28px}body.ws-ui .ws-login-intro h1{font-size:28px;margin:28px 0 12px}body.ws-ui .ws-login-intro p{font-size:13px}body.ws-ui .ws-login-form{padding:32px 24px}body.ws-ui .main-shell>.notice{margin:12px 14px 0}body.ws-ui .fin-tabs{width:100%}body.ws-ui .fin-tabs .btn{flex:1}body.ws-ui .form-control,body.ws-ui .form-select,body.ws-ui .form-textarea{font-size:16px}body.ws-ui .table-tool-field .form-control,body.ws-ui .table-tool-field .form-select{font-size:14px}body.ws-ui .p-filters>label:first-child{min-width:0}body.ws-ui .p-filters>label{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){body.ws-ui *,body.ws-ui *:before,body.ws-ui *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

body.ws-ui{color:var(--ws-ink);--blue:var(--ws-accent);--blue-700:var(--ws-accent-hover);--blue-soft:var(--ws-accent-soft);--surface:var(--ws-surface);--surface-soft:var(--ws-soft);--line:var(--ws-line);--line-strong:var(--ws-line-strong);--ink-950:var(--ws-ink);--ink-600:var(--ws-muted);--ink-500:var(--ws-muted)}
body.ws-ui .main-shell{background:var(--ws-canvas);min-height:100vh}
body.ws-ui .sidebar{background:var(--ws-nav-bg);color:var(--ws-nav-text);border-color:transparent}
body.ws-ui .sidebar-head,body.ws-ui .sidebar-foot{border-color:var(--ws-nav-surface)}
body.ws-ui .sidebar-brand strong,body.ws-ui .tenant-box strong,body.ws-ui .user-mini strong{color:var(--ws-nav-text)}
body.ws-ui .sidebar-brand span,body.ws-ui .tenant-box small,body.ws-ui .user-mini span,body.ws-ui .nav-section-label{color:var(--ws-nav-muted)}
body.ws-ui .tenant-box,body.ws-ui .user-mini{background:var(--ws-nav-surface);border-color:transparent}
body.ws-ui .sidebar .brand-mark,body.ws-ui .sidebar .avatar{background:var(--ws-nav-active-bg);color:var(--ws-nav-active-text)}
body.ws-ui .sidebar .user-mini .btn-ghost,body.ws-ui .nav-item{color:var(--ws-nav-text)}
body.ws-ui .nav-item:hover{background:var(--ws-nav-surface);color:var(--ws-nav-text)}
body.ws-ui .nav-item.active{background:var(--ws-nav-active-bg);color:var(--ws-nav-active-text)}
body.ws-ui .btn-primary,body.ws-ui button.primary{color:var(--ws-on-accent)}
body.ws-ui .fin-tabs .primary,body.ws-ui .fin-tabs .btn-primary{color:var(--ws-accent)}
body.ws-ui .notice{background:var(--ws-accent-soft);border-color:var(--ws-line);color:var(--ws-ink)}
body.ws-ui .badge-blue{color:#2759b8;background:#edf3ff}
body.ws-ui .demo-controls{background:var(--ws-soft);border-color:var(--ws-line)}
body.ws-ui .demo-top-note{background:var(--ws-accent-soft);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui .ws-login-intro{background:var(--ws-nav-bg)}
body.ws-ui .ws-login-intro p,body.ws-ui .ws-login-brand small{color:var(--ws-nav-text)}
body.ws-ui .ws-theme-trigger{white-space:nowrap;gap:8px;align-items:center;display:inline-flex}
body.ws-ui .ws-theme-trigger-swatch{display:inline-block;width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1px solid #0002;background:linear-gradient(90deg,var(--ws-nav-bg) 50%,var(--ws-nav-active-bg) 50%)}
body.ws-ui dialog.ws-theme-dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border-radius:16px;border:1px solid var(--ws-line);color:var(--ws-ink);background:white;overflow:hidden}
body.ws-ui dialog.ws-theme-dialog[open]{display:flex;flex-direction:column}
body.ws-ui .ws-theme-dialog::backdrop{background:#13251e2b;backdrop-filter:none}
body.ws-ui .ws-theme-head{padding:20px 22px 16px;display:flex;justify-content:space-between;align-items:start;gap:14px;border-bottom:1px solid var(--ws-line);flex-shrink:0}
body.ws-ui .ws-theme-eyebrow{font-size:9px;letter-spacing:.14em;font-weight:700;color:var(--ws-accent)}
body.ws-ui .ws-theme-head h2{margin:4px 0;font-size:22px;letter-spacing:-.03em}
body.ws-ui .ws-theme-head p{font-size:12px;color:var(--ws-muted);margin:0}
body.ws-ui .ws-theme-head .btn{font-size:22px;line-height:1}
body.ws-ui .ws-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 22px;overflow:auto;overscroll-behavior:contain;min-height:0}
body.ws-ui .ws-theme-choice{border:1px solid #dce1df;border-radius:10px;background:white;color:#292a32;padding:9px;text-align:left;min-width:0;cursor:pointer;font-family:inherit;transition:border-color .15s,box-shadow .15s}
body.ws-ui .ws-theme-choice:hover{border-color:var(--ws-accent)}
body.ws-ui .ws-theme-choice[aria-pressed=true]{border-color:var(--ws-accent);box-shadow:0 0 0 2px var(--ws-accent)}
body.ws-ui .ws-theme-choice strong{display:block;font-size:11px;line-height:1.5;margin:7px 0 2px;font-weight:650}
body.ws-ui .ws-theme-choice small{display:block;font-size:10px;line-height:1.5;color:#606769}
body.ws-ui .ws-theme-sample{height:42px;background:var(--sample-base);border-radius:5px;display:flex;position:relative;overflow:hidden}
body.ws-ui .ws-theme-sample-side{display:block;width:27%;background:var(--sample-ink)}
body.ws-ui .ws-theme-sample-main{padding:8px 12px;display:grid;gap:4px;width:73%}
body.ws-ui .ws-theme-sample-main i{display:block;background:#fff9;border-radius:2px;height:5px}
body.ws-ui .ws-theme-sample-main i:first-child{background:var(--sample-ink);width:40%}
body.ws-ui .ws-theme-check{position:absolute;right:6px;top:6px;display:grid;place-items:center;color:white;background:var(--ws-accent);border-radius:50%;font-size:12px;width:19px;height:19px;font-weight:700}
body.ws-ui .ws-theme-check:empty{display:none}
body.ws-ui .ws-theme-foot{padding:16px 22px 18px;background:var(--ws-soft);border-top:1px solid var(--ws-line);flex-shrink:0}
body.ws-ui .ws-theme-foot>strong{font-size:12px;color:var(--ws-accent)}
body.ws-ui .ws-theme-foot p{font-size:11px;line-height:1.6;color:var(--ws-muted);margin:6px 0}
body.ws-ui .ws-theme-foot-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}
@media(max-width:600px){body.ws-ui dialog.ws-theme-dialog{inset:8px;margin:0;width:auto;max-width:none;max-height:calc(100dvh - 16px)}body.ws-ui .ws-theme-head{padding:16px}body.ws-ui .ws-theme-grid{padding:14px;gap:9px}body.ws-ui .ws-theme-foot{padding:12px 16px}body.ws-ui .ws-theme-trigger span:last-child{display:none}body.ws-ui .topbar .ws-theme-trigger{padding:6px 8px}body.ws-ui .ws-theme-choice strong{font-size:10px}body.ws-ui .ws-theme-choice small{font-size:9px}}

/* Brand-specific inversions and compact three-choice picker. */
body.ws-ui .btn-primary,body.ws-ui button.primary{background:var(--ws-action-bg);border-color:var(--ws-action-bg);color:var(--ws-on-accent)}
body.ws-ui .btn-primary:hover,body.ws-ui button.primary:hover{background:var(--ws-action-hover);border-color:var(--ws-action-hover)}
body.ws-ui .fin-tabs .primary,body.ws-ui .fin-tabs .btn-primary{background:white;color:var(--ws-accent)}
body.ws-ui .sidebar{border-right:1px solid var(--ws-nav-surface)}
body.ws-ui[data-color-theme="ws-white-blue"] .ws-login-intro{background:var(--ws-accent)}
body.ws-ui[data-color-theme="ws-white-blue"] .ws-login-intro p,body.ws-ui[data-color-theme="ws-white-blue"] .ws-login-brand small{color:white}
body.ws-ui dialog.ws-theme-dialog{bottom:auto;width:430px}
body.ws-ui .ws-theme-grid{grid-template-columns:1fr;gap:12px}
body.ws-ui .ws-theme-choice{padding:12px}
body.ws-ui .ws-theme-choice strong{font-size:13px;margin-top:9px}
body.ws-ui .ws-theme-choice small{font-size:11px}
body.ws-ui .ws-theme-sample{height:54px;border:1px solid #d7dfe3}
body.ws-ui .ws-theme-sample-main{padding:10px 12px;gap:5px}
body.ws-ui .ws-theme-sample-main i{height:6px;background:#ffffffb3}
body.ws-ui [data-theme-choice="ws-blue-white"] .ws-theme-sample-main i{background:#dbe5e9}
body.ws-ui [data-theme-choice="ws-blue-white"] .ws-theme-sample-main i:first-child{background:#002F3E}
@media(max-width:600px){body.ws-ui dialog.ws-theme-dialog{width:auto;bottom:auto}body.ws-ui .ws-theme-choice{padding:10px}body.ws-ui .ws-theme-choice strong{font-size:12px}body.ws-ui .ws-theme-choice small{font-size:10px}}

/* WORLD SPORT UI 0.9.4 — dark surfaces and per-account appearance. */
body.ws-ui[data-color-theme="ws-blue-white-dark"]{--ws-accent:#B5E3F2;--ws-accent-hover:#DAF3FC;--ws-accent-soft:#163D4D;--ws-action-bg:#EEF5F8;--ws-action-hover:#FFFFFF;--ws-on-accent:#002F3E;--ws-canvas:#071B26;--ws-surface:#0E2935;--ws-soft:#153440;--ws-line:#2A4856;--ws-line-strong:#52717F;--ws-ink:#EDF4F7;--ws-muted:#B7CBD4;--ws-nav-bg:#002F3E;--ws-nav-text:#F4F8FA;--ws-nav-active-bg:#EEF5F8;--ws-nav-active-text:#002F3E;--ws-nav-muted:#D7E4E9;--ws-nav-surface:#0D3B48;--ws-focus:#B5E3F2;}
body.ws-ui[data-color-theme="ws-white-blue-dark"]{--ws-accent:#B5E3F2;--ws-accent-hover:#DAF3FC;--ws-accent-soft:#163D4D;--ws-action-bg:#A9DEEF;--ws-action-hover:#FFFFFF;--ws-on-accent:#002F3E;--ws-canvas:#071B26;--ws-surface:#0E2935;--ws-soft:#153440;--ws-line:#2A4856;--ws-line-strong:#52717F;--ws-ink:#EDF4F7;--ws-muted:#B7CBD4;--ws-nav-bg:#F6F9FB;--ws-nav-text:#002F3E;--ws-nav-active-bg:#002F3E;--ws-nav-active-text:#FFFFFF;--ws-nav-muted:#52616A;--ws-nav-surface:#E7EFF3;--ws-focus:#B5E3F2;}
body.ws-ui[data-color-theme="ws-blue-gold-dark"]{--ws-accent:#DFC7A4;--ws-accent-hover:#F1DFCA;--ws-accent-soft:#283B3F;--ws-action-bg:#B79975;--ws-action-hover:#D0B795;--ws-on-accent:#002F3E;--ws-canvas:#071B26;--ws-surface:#0E2935;--ws-soft:#153440;--ws-line:#2A4856;--ws-line-strong:#52717F;--ws-ink:#EDF4F7;--ws-muted:#B7CBD4;--ws-nav-bg:#002F3E;--ws-nav-text:#D7BF98;--ws-nav-active-bg:#B79975;--ws-nav-active-text:#002F3E;--ws-nav-muted:#D7BF98;--ws-nav-surface:#0D3B48;--ws-focus:#DFC7A4;}

body.ws-ui .ws-form-grid>label{align-content:start}
body.ws-ui .ws-theme-mode{display:flex;gap:6px;margin:16px 22px 0;padding:4px;background:var(--ws-soft);border:1px solid var(--ws-line);border-radius:10px;flex-shrink:0}
body.ws-ui .ws-theme-mode button{border:1px solid transparent;border-radius:7px;flex:1;padding:9px 12px;font-weight:650;font-size:12px;background:transparent;color:var(--ws-muted)}
body.ws-ui .ws-theme-mode button[aria-pressed=true]{background:var(--ws-action-bg);color:var(--ws-on-accent);border-color:var(--ws-action-bg)}
body.ws-ui .ws-theme-grid{padding-top:14px}
body.ws-ui[data-color-mode=light]{color-scheme:light}
body.ws-ui[data-color-mode=dark]{color-scheme:dark;--ink-800:var(--ws-ink);--ink-700:var(--ws-ink);--ink-400:var(--ws-muted);--surface:var(--ws-surface);--surface-tint:var(--ws-soft);--border:var(--ws-line);--green:#8DE1B6;--green-soft:#123D32;--amber:#F5CF85;--amber-soft:#473818;--red:#FFB1B7;--red-soft:#492A35;--purple:#D7BCFF;--purple-soft:#332B50;--cyan:#9DE3EE;--cyan-soft:#123F4B;--shadow-sm:none;--shadow-md:0 12px 30px #0005;--shadow-lg:0 24px 60px #0007;color:var(--ws-ink);background:var(--ws-canvas)}
body.ws-ui[data-color-mode=dark] :is(.topbar,.card,.panel,.modal,dialog,.card-body,.table-tools,.table-column-panel,.table-advanced-panel,.r49-picker-panel,.r53-picker-panel,.production-column-popover,.wf-column-picker>summary,.ws-theme-choice,.ws-login,.ws-login-form){background:var(--ws-surface);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] :is(.r49-work button,.p-stat,.r50-summary>div,.order-summary-strip,.tracking-card,.aging-box,.kanban-card,.check-item,.review-list li,.overview-item,.change-cell,.qf-item,.qf-panel,.qi-ticket-row,.qc-shared-photo,.ws-import-steps>span,.flow-step,.r49-statuses>div){background:var(--ws-surface);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] :is(.card-head,.card-foot,.r49-list-head,.p-footer,.p-product,.p-qc-item,.p-list-product+.p-list-product,.p-fault-grid label,.tabs-line,.ws-theme-head,.ws-theme-foot){border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] :is(.form-control,.form-select,.form-textarea,.filter-select,.search-box input,.r49-filter input,.r49-filter select,.r49-date input,.r51-filters input,.r51-filters select,.r53-filters input,.r53-filters select,.table-pager select){background:#0A222E;color:var(--ws-ink);border-color:var(--ws-line-strong)}
body.ws-ui[data-color-mode=dark] :is(input,textarea)::placeholder{color:#94AFBC;opacity:1}
body.ws-ui[data-color-mode=dark] :is(.btn-secondary,.btn-ghost,.table-advanced>summary,.table-column-picker>summary){background:var(--ws-soft);color:var(--ws-ink);border-color:var(--ws-line-strong)}
body.ws-ui[data-color-mode=dark] :is(.btn-secondary,.btn-ghost):hover{background:var(--ws-accent-soft);border-color:var(--ws-accent)}
body.ws-ui[data-color-mode=dark] :is(.btn-primary,button.primary){background:var(--ws-action-bg);color:var(--ws-on-accent);border-color:var(--ws-action-bg)}
body.ws-ui[data-color-mode=dark] :is(.btn-primary,button.primary):hover{background:var(--ws-action-hover);border-color:var(--ws-action-hover)}
body.ws-ui[data-color-mode=dark] .btn-link,body.ws-ui[data-color-mode=dark] .table-link{color:var(--ws-accent)}
body.ws-ui[data-color-mode=dark] :is(.data-table th,.data-table td){background:var(--ws-surface);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] .data-table th{background:var(--ws-soft);color:var(--ws-muted)}
body.ws-ui[data-color-mode=dark] .data-table tbody tr:hover td{background:var(--ws-soft)}
body.ws-ui[data-color-mode=dark] .data-table tbody tr:has(input[type=checkbox]:checked) td{background:var(--ws-accent-soft)}
body.ws-ui[data-color-mode=dark] :is(.data-table td small,.table-secondary,.muted,.subtle,.freshness,.p-item-identity small,.p-photo figcaption,.p-upload-actions small,.p-list-custom,.qc-share-control small,.p-decision-heading small,.p-decision-details small,.demo-caption,.demo-controls label){color:var(--ws-muted)}
body.ws-ui[data-color-mode=dark] :is(.table-primary,.card-head h3,.r49-list-head h3,.p-stat strong,.p-job-summary,.p-qc-item legend,.detail-dl dd,.page-head h1,.ws-theme-choice strong,.ws-theme-head h2){color:var(--ws-ink)}
body.ws-ui[data-color-mode=dark] :is(.bulkbar,.p-bulk,.table-pager,.p-reference-panel,.p-evidence-panel,.p-decision-details,.p-no-reference,.p-list-no-image,.p-photo-status,.qc-share-control,.file-chip,.r50-grid>div,.sh-events>div,.fin-selected-summary,.fin-batch,.fin-tabs,.demo-controls,.ws-theme-foot){background:var(--ws-soft);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] :is(.fin-tabs .btn-primary,.fin-tabs .primary,.tab-btn.active){background:var(--ws-accent-soft);color:var(--ws-accent)}
body.ws-ui[data-color-mode=dark] :is(.notice,.demo-top-note,.p-qc-guidance,.p-decision-heading>.icon,dialog .warning){background:var(--ws-accent-soft);color:var(--ws-ink);border-color:var(--ws-line-strong)}
body.ws-ui[data-color-mode=dark] .ws-theme-dialog{background:var(--ws-surface);color:var(--ws-ink);box-shadow:0 24px 80px #0009}
body.ws-ui[data-color-mode=dark] .ws-theme-dialog::backdrop{background:#0005}
body.ws-ui[data-color-mode=dark] .ws-theme-choice small{color:var(--ws-muted)}
body.ws-ui[data-color-mode=dark] .ws-theme-check{background:var(--ws-action-bg);color:var(--ws-on-accent)}
body.ws-ui[data-color-mode=dark] .ws-theme-sample{background:#0B2430;border-color:#43606D}
body.ws-ui[data-color-mode=dark] .ws-theme-sample-main i{background:#426372}
body.ws-ui[data-color-mode=dark] .ws-theme-sample-main i:first-child{background:#EEF5F8}
body.ws-ui[data-color-mode=dark] [data-theme-choice="ws-blue-gold"] .ws-theme-sample-main i:first-child{background:#B79975}
body.ws-ui[data-color-mode=dark] [data-theme-choice="ws-white-blue"] .ws-theme-sample-main i:first-child{background:#A9DEEF}
body.ws-ui[data-color-mode=dark] .ws-theme-sample-side{background:var(--sample-ink)}
body.ws-ui[data-color-mode=dark] .ws-login-intro{background:#002F3E;color:#F4F8FA}
body.ws-ui[data-color-mode=dark] .ws-login-intro :is(p,small){color:#D7E4E9}
body.ws-ui[data-color-mode=dark] .ws-login-brand .brand-mark{background:var(--ws-action-bg);color:var(--ws-on-accent)}
body.ws-ui[data-color-mode=dark] .badge-blue{background:#183C57;color:#ACD8FF}
body.ws-ui[data-color-mode=dark] .badge-green{background:#123D32;color:#8DE1B6}
body.ws-ui[data-color-mode=dark] .badge-amber{background:#473818;color:#F5CF85}
body.ws-ui[data-color-mode=dark] .badge-red{background:#492A35;color:#FFB1B7}
body.ws-ui[data-color-mode=dark] .badge-purple{background:#332B50;color:#D7BCFF}
body.ws-ui[data-color-mode=dark] .badge-gray{background:#29434F;color:#D5E2E9}
body.ws-ui[data-color-mode=dark] :is(.tone-blue,.tone-new,.tone-review){--tone:#ACD8FF;--tint:#183C57}
body.ws-ui[data-color-mode=dark] :is(.tone-request,.tone-purple){--tone:#D7BCFF;--tint:#332B50}
body.ws-ui[data-color-mode=dark] :is(.tone-near,.tone-amber){--tone:#F5CF85;--tint:#473818}
body.ws-ui[data-color-mode=dark] :is(.tone-overdue,.tone-red){--tone:#FFB1B7;--tint:#492A35}
body.ws-ui[data-color-mode=dark] .tone-green{--tone:#8DE1B6;--tint:#123D32}
body.ws-ui[data-color-mode=dark] .r49-work button[aria-pressed=true]{background:var(--tint);border-color:var(--tone)}
body.ws-ui[data-color-mode=dark] :is(.error,.demo-input-error,.form-feedback-error,.p-remove-photo,.text-danger){color:#FFB1B7}
body.ws-ui[data-color-mode=dark] :is(.form-feedback-summary,.btn-danger-soft,.alert-danger,.cell-error,.p-fault-grid label:has(input:checked)){background:#492A35;color:#FFB1B7;border-color:#B87780}
body.ws-ui[data-color-mode=dark] :is(.alert-warning,.cell-warning,.qc-hold,.p-failure-details,.pending-edit,.pending-request-badge){background:#473818;color:#F5CF85;border-color:#8D784E}
body.ws-ui[data-color-mode=dark] :is(.changes-preview,.change-old,.change-new){background:var(--ws-soft);color:var(--ws-ink);border-color:var(--ws-line-strong)}
body.ws-ui[data-color-mode=dark] [aria-invalid=true],body.ws-ui[data-color-mode=dark] .form-control[aria-invalid=true]{background:#392732!important;color:#FFE9EB;border-color:#E38F9A!important;box-shadow:0 0 0 2px #e38f9a25}
body.ws-ui[data-color-mode=dark] :is(.r49-dates>label,.bulkbar small,.p-reference-panel>small,.wf-flow>div){color:var(--ws-muted)}
body.ws-ui[data-color-mode=dark] .wf-flow>div>span{background:var(--ws-soft)}
body.ws-ui[data-color-mode=dark] .wf-flow .done{color:#8DE1B6}
body.ws-ui[data-color-mode=dark] .wf-flow .done>span{background:#123D32}
body.ws-ui[data-color-mode=dark] .wf-flow .current{color:#ACD8FF}
body.ws-ui[data-color-mode=dark] .wf-flow .current>span{background:#183C57}
body.ws-ui[data-color-mode=dark] .p-decision-details ul+p{color:#F5CF85}
body.ws-ui[data-color-mode=dark] #p-job-table small{color:var(--ws-muted)}
body.ws-ui[data-color-theme="ws-white-blue-dark"] .sidebar{color-scheme:light}
body.ws-ui[data-color-theme="ws-white-blue-dark"] .sidebar .btn-ghost{background:var(--ws-nav-surface);color:var(--ws-nav-text)}
@media(max-width:600px){body.ws-ui .ws-theme-mode{margin:12px 14px 0}body.ws-ui .ws-theme-mode button{padding:8px 10px}}

/* WORLD SPORT UI 0.9.5 — approved presentation, shared by R01–R06. */
body.ws-ui{--sidebar:250px;--ink-800:var(--ws-ink);--ink-700:var(--ws-ink);--surface-tint:var(--ws-soft)}
body.ws-ui .app-shell{grid-template-columns:250px minmax(0,1fr)}
body.ws-ui .sidebar{width:250px}
body.ws-ui .main-shell{margin-left:0;min-width:0}
body.ws-ui .sidebar-head{height:80px;padding:20px 18px;gap:10px}
body.ws-ui .sidebar-brand strong{font-size:16px;letter-spacing:.04em}
body.ws-ui .sidebar-brand span{font-size:9px;letter-spacing:.12em}
body.ws-ui .brand-mark{border-radius:10px;flex-shrink:0}
body.ws-ui .nav-section-label{font-size:9px;letter-spacing:.12em}
body.ws-ui .nav-item{min-height:39px;font-size:12px;gap:10px}
body.ws-ui .nav-item.active{font-weight:700}
body.ws-ui .user-mini>div:nth-child(2){min-width:0}
body.ws-ui .user-mini strong,body.ws-ui .user-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.ws-ui .user-mini .btn{flex-shrink:0}
body.ws-ui .topbar{min-height:88px;height:auto;gap:16px;flex-wrap:wrap;padding:18px 26px}
body.ws-ui .topbar-actions{gap:8px;flex-wrap:wrap}
body.ws-ui .page-ident h1,body.ws-ui h1.ws-top-title{font-size:19px;margin:0;line-height:1.4;font-weight:700}
body.ws-ui .page-ident p{font-size:11px;line-height:1.6}
body.ws-ui .content{padding:24px 26px 32px}
body.ws-ui .page-head{gap:16px;flex-wrap:wrap;margin-bottom:22px}
body.ws-ui .page-head h1,body.ws-ui .page-head h2{font-size:24px;letter-spacing:-.03em;line-height:1.3}
body.ws-ui .page-head p{font-size:12px;line-height:1.7}
body.ws-ui .panel,body.ws-ui .stat{background:var(--ws-surface);color:var(--ws-ink);border:1px solid var(--ws-line);border-radius:12px;box-shadow:none}
body.ws-ui .stat{padding:20px;min-height:132px}
body.ws-ui .stat small{display:block;font-size:11px;color:var(--ws-muted);font-weight:600}
body.ws-ui .stat strong{display:block;font-size:27px;margin:12px 0 4px;color:var(--ws-ink);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
body.ws-ui .cards{gap:14px;margin-bottom:22px}
body.ws-ui .card{border-radius:12px;box-shadow:none}
body.ws-ui .card-head{padding:18px 20px;gap:12px;flex-wrap:wrap}
body.ws-ui .card-head h3{font-size:14px;line-height:1.5}
body.ws-ui .card-body{padding:20px}
body.ws-ui .table-wrap,body.ws-ui .table-scroll{max-width:100%;overflow:auto;scrollbar-width:thin}
body.ws-ui .data-table th{font-size:10px;font-weight:650;line-height:1.6}
body.ws-ui .data-table td{font-size:12px;line-height:1.65}
body.ws-ui .table-link{font-weight:650;overflow-wrap:anywhere}
body.ws-ui .form-control,body.ws-ui .form-select,body.ws-ui .form-textarea{border-radius:8px;min-height:39px}
body.ws-ui .btn{border-radius:8px;min-height:36px;font-size:12px}
body.ws-ui .btn-icon{width:36px;height:36px;padding:8px}
body.ws-ui .btn:focus-visible,body.ws-ui .nav-item:focus-visible{outline:2px solid var(--ws-accent);outline-offset:3px}
body.ws-ui dialog{background:var(--ws-surface);color:var(--ws-ink);border:1px solid var(--ws-line-strong);border-radius:14px}
body.ws-ui dialog .heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
body.ws-ui dialog .heading h2{margin:0;font-size:20px}
body.ws-ui dialog .actions{gap:10px;flex-wrap:wrap}
body.ws-ui .ws-confirm-dialog{width:min(470px,calc(100vw - 32px));padding:24px;max-height:calc(100dvh - 32px)}
.ws-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ws-confirm-head h2{font-size:20px;line-height:1.4;margin:0}
#ws-confirm-message{font-size:13px;line-height:1.8;color:var(--ws-muted);margin:18px 0 26px;white-space:pre-line}
.ws-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
body.ws-ui .ws-confirm-danger{background:#B42332;border-color:#B42332;color:#FFFFFF}
body.ws-ui .ws-confirm-danger:hover{background:#941F2B;border-color:#941F2B}
body.ws-ui[data-color-mode=dark] .ws-confirm-danger{background:#A83140;border-color:#C95966;color:#FFFFFF}
body.ws-ui[data-color-mode=dark] :is(.toolbar,.filter-bar,.search-box,.r49-picker-panel,.wf-column-picker>summary,.sh-address,.sh-item,.sh-operator,.invoice-total,.order-summary-strip,.line-item-head,.add-dashed,.dropzone,.validation-box,.tracking-card,.aging-box,.product-ref-block,.product-ref-empty,.product-ref-add,.overview-no-ref,.s48-menu,.r51-context,.r52-detail-status,.r53-callout,.r54-toolbar){background:var(--ws-soft);color:var(--ws-ink);border-color:var(--ws-line)}
body.ws-ui[data-color-mode=dark] :is(.ws-item-price,.r49-price-total,.product-title,.table-primary,.ref-placeholder,.wf-portal .detail-dl dd){color:var(--ws-ink)}
body.ws-ui[data-color-mode=dark] :is(.freshness,.r49-product small,.detail-dl dt,.wf-portal .r49-dates>label,.table-secondary,.r50-request-meta,.p-list-custom,.p-job-summary small){color:var(--ws-muted)}
body.ws-ui[data-color-mode=dark] .table-link{color:#A9DEEF}
body.ws-ui[data-color-mode=dark] :is(.badge.ok,.alert-success){background:#123D32;color:#8DE1B6;border-color:#347859}
body.ws-ui[data-color-mode=dark] .badge.warn{background:#473818;color:#F5CF85}
body.ws-ui[data-color-mode=dark] :is(.badge.error,.errorbox){background:#492A35;color:#FFB1B7;border-color:#B87780}
body.ws-ui[data-color-mode=dark] .ws-confirm-dialog::backdrop{background:#0008}
body.ws-ui .ws-login-intro h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.045em;line-height:1.15}
body.ws-ui .ws-login-form form{max-width:430px;width:100%}
@media(max-width:1100px){body.ws-ui .topbar{padding:16px 22px}body.ws-ui .topbar-actions{margin-left:auto}}
@media(max-width:900px){body.ws-ui .app-shell{display:block}body.ws-ui .sidebar{width:250px}body.ws-ui .main-shell{margin:0}body.ws-ui .topbar{gap:12px}}
@media(max-width:600px){body.ws-ui .content{padding:18px 14px 28px}body.ws-ui .topbar{padding:12px 14px;min-height:72px;gap:10px}body.ws-ui .page-ident h1,body.ws-ui h1.ws-top-title{font-size:16px}body.ws-ui .topbar-actions{gap:6px}body.ws-ui .page-head h1,body.ws-ui .page-head h2{font-size:21px}body.ws-ui .card-head,body.ws-ui .card-body{padding:16px}body.ws-ui .page-actions{width:100%;flex-wrap:wrap;gap:8px}body.ws-ui .ws-confirm-dialog{padding:20px}body.ws-ui .ws-confirm-actions .btn{flex:1;min-height:42px}body.ws-ui .stat{padding:16px;min-height:118px}}

/* Readable Seller work queues in all dark brand palettes. */
body.ws-ui[data-color-mode="dark"] .r49-work .tone-draft .r49-work-label{color:#BCCCD4}
body.ws-ui[data-color-mode="dark"] .r49-work .tone-review .r49-work-label{color:#BBD9FF}
body.ws-ui[data-color-mode="dark"] .r49-work .tone-active .r49-work-label{color:#FFDC9E}
body.ws-ui[data-color-mode="dark"] .r49-work .tone-done .r49-work-label{color:#ADE5CB}

body.ws-ui[data-color-mode="dark"] .ws-finance-total .card-body>span,body.ws-ui[data-color-mode="dark"] .ws-finance-total small{color:var(--ws-muted)}
