:root {
  --ink: #142b3d;
  --muted: #688092;
  --line: #dce6ec;
  --soft: #f4f7f8;
  --paper: #fff;
  --navy: #173b57;
  --navy-2: #0f2d44;
  --blue: #247ca7;
  --blue-soft: #e8f4f8;
  --green: #2e8b6e;
  --amber: #d9902f;
  --red: #c85a54;
  --violet: #7769ad;
  --shadow: 0 14px 36px rgba(28, 55, 72, .08);
  font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
}

/* D-147 sample flow V2 */
.sample-v2-dialog { width:min(1040px,calc(100vw - 32px)); }
.sample-v2-dialog form { width:100%; }
.sample-v2-items-heading { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;padding-top:18px;border-top:1px solid #dfe8ed; }
.sample-v2-items-heading h3 { margin:0;color:#173f57;font-size:18px; }.sample-v2-items-heading p { margin:4px 0 0;color:#6d828e;font-size:13px; }
.sample-v2-items { grid-column:1/-1;display:grid;gap:14px; }
.sample-v2-add-task-row { grid-column:1/-1;display:flex;justify-content:center;margin-top:4px; }
.sample-v2-add-task { width:auto;min-width:180px;min-height:48px;border:1px solid #c36d0c;color:#fff;background:linear-gradient(135deg,#d77b13,#eb982b);font-size:16px;font-weight:850;box-shadow:0 7px 16px rgba(195,109,12,.2); }
.sample-v2-add-task:hover,.sample-v2-add-task:focus-visible { border-color:#a75a06;background:linear-gradient(135deg,#bf680a,#dc851b);box-shadow:0 9px 20px rgba(195,109,12,.28); }
.sample-v2-item { padding:16px;border:1px solid #d8e4e9;border-radius:14px;background:#f8fbfc; }
.sample-v2-item-title { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px; }
.sample-v2-item-title strong { color:#173f57;font-size:16px; }
.sample-v2-item-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px; }
.sample-v2-item-grid>label { min-width:0; }.sample-v2-item-grid>label>span { display:block;margin-bottom:6px;color:#315267;font-size:13px;font-weight:750; }
.sample-v2-item-grid input,.sample-v2-item-grid select,.sample-v2-item-grid textarea { width:100%;min-width:0; }
.sample-v2-deliverables { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.sample-v2-deliverables>div { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;border-radius:12px;background:#eef4f7; }
.sample-v2-deliverables>div>strong { grid-column:1/-1;color:#204b63;font-size:14px; }
.sample-v2-deliverables>div>label>span { display:block;margin-bottom:5px;color:#526f7f;font-size:12px;font-weight:700; }
.sample-v2-deliverables>div>.sample-v2-packaging { grid-column:1/-1; }
.sample-board-preset { grid-column:1/-1; }
.sample-board-preset small { display:block;margin-top:5px;color:#687f8c;font-size:11px;line-height:1.5; }
.sample-board-custom { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;border-top:1px solid #dce7ec; }
.sample-board-custom label { min-width:0; }.sample-board-custom label>span { display:block;margin-bottom:5px;color:#526f7f;font-size:12px;font-weight:700; }
.sample-board-custom input { width:100%;min-width:0; }
.sample-v2-requirement { grid-column:1/-1; }
.sample-v2-detail-list { display:grid;gap:11px;margin-top:16px; }
.sample-v2-detail-item { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding:14px 15px;border:1px solid #dce6eb;border-radius:12px;background:#fff; }
.sample-v2-detail-item h4 { margin:3px 0;color:#173f57;font-size:16px; }.sample-v2-detail-item p { margin:3px 0 0;color:#657d8a;font-size:13px;line-height:1.5; }
.sample-v2-delivery-chips { display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px; }.sample-v2-delivery-chips span { padding:5px 8px;border-radius:8px;color:#31617a;background:#eaf3f7;font-size:12px;font-weight:700; }
.sample-v2-delivery-chips b { padding:5px 8px;border-radius:8px;color:#946515;background:#fff1d5;font-size:12px; }.sample-v2-detail-item.completed .sample-v2-delivery-chips b { color:#28755c;background:#e4f3ec; }
.sample-v2-task-requirement { grid-column:1/-1;padding-top:9px;border-top:1px solid #e7edef; }.sample-v2-task-requirement strong { display:block;margin-bottom:3px;color:#31566c;font-size:12px; }
.sample-v2-events { margin-top:18px;padding:15px;border-radius:13px;background:#f5f8fa; }.sample-v2-events h4 { margin:0 0 8px;color:#173f57;font-size:15px; }.sample-v2-events>div { display:grid;grid-template-columns:140px minmax(0,1fr);gap:3px 12px;padding:9px 2px;border-top:1px solid #dfe8ed; }.sample-v2-events strong { color:#294f65;font-size:13px; }.sample-v2-events span,.sample-v2-events small { color:#687f8c;font-size:12px; }.sample-v2-events small { grid-column:2; }
.tracking-sample-package { margin-top:10px;padding:15px;border:1px solid #dce7ec;border-radius:13px;background:#f8fbfc; }
@media (max-width:720px) {
  .sample-v2-item-grid,.sample-v2-deliverables,.sample-board-custom { grid-template-columns:1fr; }
  .sample-v2-detail-item { grid-template-columns:1fr; }
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--soft); color: var(--ink); }
button, select { font: inherit; }
[hidden] { display: none !important; }
button, a { -webkit-tap-highlight-color: transparent; }
.management-auth-boot { min-height:100vh;padding:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(85,183,215,.22),transparent 27%),linear-gradient(150deg,var(--navy-2),var(--navy)); }
.management-auth-boot-brand { width:78px;height:66px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:19px;background:rgba(255,255,255,.08);font-weight:900;letter-spacing:.08em;box-shadow:0 18px 42px rgba(3,24,38,.25); }
.management-auth-boot>div:nth-child(2) { margin-top:25px;display:grid;gap:8px; }
.management-auth-boot strong { font-size:21px; }.management-auth-boot span { color:#bdd5e2;font-size:12px; }
.management-auth-boot-progress { height:25px;margin-top:22px;display:flex;align-items:center;gap:8px; }
.management-auth-boot-progress i { width:7px;height:7px;border-radius:50%;background:#d7eaf2;animation:management-auth-pulse 1.1s ease-in-out infinite; }
.management-auth-boot-progress i:nth-child(2) { animation-delay:.15s; }.management-auth-boot-progress i:nth-child(3) { animation-delay:.3s; }
@keyframes management-auth-pulse { 0%,100% { opacity:.35;transform:translateY(0); } 50% { opacity:1;transform:translateY(-4px); } }
@media (prefers-reduced-motion:reduce) { .management-auth-boot-progress i { animation:none;opacity:.75; } }
.shell { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar-toggle { position:fixed; z-index:21; top:50%; left:232px; width:24px; height:64px; padding:0; border:1px solid #c9dbe5; border-left:0; border-radius:0 8px 8px 0; background:#fff; color:#245b78; font-size:25px; line-height:1; cursor:pointer; box-shadow:2px 2px 8px #173b5714; }
.shell.sidebar-collapsed { grid-template-columns:0 minmax(0,1fr); }
.shell.sidebar-collapsed .sidebar { visibility:hidden; pointer-events:none; }
.shell.sidebar-collapsed .sidebar-toggle { left:0; }
.sidebar-toggle:focus-visible { outline:3px solid #1d82aa; outline-offset:2px; }
@media(max-width:760px) { .sidebar-toggle { display:none; } }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 26px 18px 20px; background: linear-gradient(165deg, var(--navy), var(--navy-2)); color: #fff; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; margin: 0 8px 38px; color: inherit; text-decoration: none; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 13px; font-weight: 800; letter-spacing: .04em; background: rgba(255,255,255,.1); }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: .08em; }
.brand small { margin-top: 4px; font-size: 11px; color: #aac1d1; letter-spacing: .14em; }
.nav { display: grid; gap: 8px; }
.nav-item { border: 0; display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 10px; color: #c7d6e0; background: transparent; cursor: pointer; text-align: left; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: rgba(91, 180, 215, .2); box-shadow: inset 3px 0 #6ec1dd; }
.nav-icon { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; font-size: 12px; }
.sidebar-foot { margin-top: auto; padding: 15px 10px 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; gap: 10px; }
.sidebar-foot strong, .sidebar-foot small { display: block; }
.sidebar-foot strong { font-size: 12px; }
.sidebar-foot small { margin-top: 3px; color: #91aabd; font-size: 10px; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #59c99a; box-shadow: 0 0 0 4px rgba(89,201,154,.12); }
.status-dot.offline { background: var(--red); box-shadow: 0 0 0 4px rgba(200,90,84,.12); }
.main { min-width: 0; }
.topbar { height: 82px; padding: 0 34px; display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 15; backdrop-filter: blur(12px); }
.topbar h1 { margin: 2px 0 0; font-size: 20px; }
.eyebrow, .overline { margin: 0; font-size: 10px; letter-spacing: .18em; color: #7791a2; font-weight: 700; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.app-version { padding: 6px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #f8fafb; font-size: 10px; font-weight: 700; white-space: nowrap; }
.sync-state { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.avatar { border: 0; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: var(--navy); cursor: default; }
.menu-button { display: none; border: 0; background: transparent; font-size: 22px; }
.content { padding: 28px 34px 46px; max-width: 1600px; margin: 0 auto; }
.page { display: none; }
.page.active { display: block; animation: page-in .24s ease; }
@keyframes page-in { from { opacity: .4; transform: translateY(5px); } }
.hero { min-height: 188px; padding: 34px 38px; border-radius: 18px; color: #fff; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; background: radial-gradient(circle at 78% 35%, rgba(96,192,216,.34), transparent 19%), linear-gradient(115deg, #163a56 0%, #1c5675 58%, #297c91 100%); box-shadow: var(--shadow); overflow: hidden; }
.hero h2 { margin: 13px 0 9px; font-size: clamp(24px, 3vw, 34px); font-weight: 650; }
.hero p { margin: 0; max-width: 720px; color: #cfe0e7; line-height: 1.7; }
.tag { display: inline-flex; padding: 5px 10px; border-radius: 20px; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.tag.light { color: #e8f9ff; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.14); }
.tag.demo { color: #8a611f; background: #fff3d9; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 9px; border: 1px solid transparent; text-decoration: none; cursor: pointer; white-space: nowrap; }
.button.light { color: var(--navy); background: #fff; }
.button.secondary { padding: 9px 13px; border-color: var(--line); background: #fff; color: var(--ink); font-size: 12px; }
.button.primary { color: #fff; background: var(--navy); }
.button:disabled { opacity: .48; cursor: not-allowed; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 20px 0; }
.metric-card { display: flex; gap: 15px; align-items: center; padding: 21px; background: var(--paper); border: 1px solid #e6edf1; border-radius: 14px; box-shadow: 0 7px 18px rgba(28,55,72,.04); }
.metric-card small, .metric-card strong, .metric-card p { display: block; }
.metric-card small { color: var(--muted); font-size: 12px; }
.metric-card strong { margin: 4px 0 2px; font-size: 27px; }
.metric-card p { margin: 0; color: #94a5b1; font-size: 10px; }
.metric-icon { flex: 0 0 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; font-size: 13px; font-weight: 800; }
.metric-icon.blue { background: #e6f2f7; color: var(--blue); }.metric-icon.amber { background: #fbf0dd; color: var(--amber); }.metric-icon.green { background: #e5f4ef; color: var(--green); }.metric-icon.violet { background: #eeebf7; color: var(--violet); }
.dashboard-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.overview-refresh-bar { display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px;line-height:1.5; }
.overview-refresh-bar .text-button { padding:6px 0 6px 8px;flex-shrink:0; }
.panel { background: var(--paper); border: 1px solid #e3ebef; border-radius: 15px; box-shadow: 0 8px 24px rgba(28,55,72,.045); }
.panel-head { padding: 22px 24px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.panel-head h3 { margin: 5px 0 0; font-size: 17px; }
.text-button { border: 0; background: transparent; color: var(--blue); cursor: pointer; font-size: 12px; }
.catalog-list { padding: 0 24px 20px; }
.catalog-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 14px 2px; border-top: 1px solid #edf2f4; cursor: pointer; }
.catalog-row:hover strong { color: var(--blue); }
.catalog-symbol { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 10px; background: var(--soft); color: var(--navy); font-weight: 800; }
.catalog-row strong, .catalog-row small { display: block; }.catalog-row small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.badge { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 4px 8px; border-radius: 20px; color: #94601c; background: #fff1dc; font-size: 10px; line-height: 1; white-space: nowrap; }
.badge.published { color: #237155; background: #e5f4ef; }
.badge.archived { color: #596a73; background: #e9eef1; }
.milestone-list { list-style: none; margin: 0; padding: 2px 24px 22px; }
.milestone-list li { display: grid; grid-template-columns: 31px 1fr; gap: 12px; position: relative; padding: 8px 0 19px; }
.milestone-list li:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 39px; width: 1px; height: 26px; background: var(--line); }
.milestone-list li > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #eef3f5; color: #7d929f; font-size: 11px; font-weight: 800; z-index: 1; }
.milestone-list .done > span { background: #e3f3ed; color: var(--green); }.milestone-list .current > span { background: var(--navy); color: #fff; box-shadow: 0 0 0 5px #e8eff3; }
.milestone-list strong, .milestone-list small { display: block; }.milestone-list strong { font-size: 13px; }.milestone-list small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.overview-order-panel .panel-head small { display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5; }
.overview-order-list { padding:0 24px 20px; }
.overview-order-columns,.overview-order-row { display:grid;grid-template-columns:minmax(142px,1.05fr) minmax(135px,1.2fr) 88px 108px 68px;gap:12px;align-items:center; }
.overview-order-columns { padding:9px 2px;color:#607987;border-top:1px solid #edf2f4;font-size:11px;font-weight:700;line-height:1.35; }
.overview-order-columns span:last-child { text-align:right; }
.overview-order-row { width:100%;min-height:57px;padding:10px 2px;border:0;border-top:1px solid #edf2f4;color:var(--ink);background:transparent;text-align:left;cursor:pointer; }
.overview-order-row:hover { background:#f7fbfc; }.overview-order-row:hover strong { color:var(--blue); }
.overview-order-identity { display:flex;align-items:center;gap:9px;min-width:0; }.overview-order-identity strong { display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap; }
.overview-order-type { width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:9px;font-size:14px;font-weight:800; }
.overview-order-type.common,.production-kind-mark.common { color:#075985;background:#e0f2fe;box-shadow:inset 0 0 0 1px #bae6fd; }
.overview-order-type.tint,.production-kind-mark.tint { color:#b9380b;background:#ffedd5;box-shadow:inset 0 0 0 1px #fed7aa; }
.overview-order-type.sample,.production-kind-mark.sample { color:#166534;background:#dcfce7;box-shadow:inset 0 0 0 1px #bbf7d0; }
.overview-order-type.multicolor,.production-kind-mark.multicolor { color:#7e22ce;background:#f3e8ff;box-shadow:inset 0 0 0 1px #e9d5ff; }
.overview-order-type.stone,.production-kind-mark.stone { color:#44403c;background:#e7e5e4;box-shadow:inset 0 0 0 1px #d6d3d1; }
.overview-order-type.mixed { color:#334155;background:#e2e8f0;box-shadow:inset 0 0 0 1px #cbd5e1; }
.overview-order-product,.overview-order-time,.overview-order-duration { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.overview-order-product { color:#526f80;font-size:12px; }.overview-order-time { color:#607987;font-size:11px;font-weight:650; }.overview-order-duration { color:#456b7d;font-size:11px;font-weight:750; }.overview-order-duration.completed { color:var(--green); }.overview-order-duration.not_dispatched,.overview-order-duration.not_completed,.overview-order-duration.unavailable { color:var(--muted);font-weight:600; }
.overview-order-row>b { justify-self:end;min-height:24px;padding:6px 9px;border-radius:13px;color:#5c7481;background:#edf2f4;font-size:11px;font-weight:700;line-height:1;white-space:nowrap; }.overview-order-row>b.in_production,.overview-order-row>b.pending_packaging,.overview-order-row>b.pending_storage,.overview-order-row>b.scheduled { color:var(--blue);background:var(--blue-soft); }.overview-order-row>b.held,.overview-order-row>b.voided { color:var(--red);background:#fff0ef; }.overview-order-row>b.completed { color:var(--green);background:#e5f4ef; }
@media (max-width:1450px) { .dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .overview-order-list { padding-inline:16px; }.overview-order-columns { display:none; }.overview-order-row { grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding-block:11px; }.overview-order-identity { grid-column:1; }.overview-order-product { grid-column:1 / 3; }.overview-order-time { grid-column:1; }.overview-order-duration { grid-column:2;text-align:right; }.overview-order-row>b { grid-column:2;grid-row:1; }.overview-order-type { width:30px;height:30px;flex-basis:30px; } }
.page-intro { margin: 1px 0 22px; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.production-create-menu-wrap { position:relative; }
.production-create-menu-wrap>#newProductionOrder { white-space:nowrap; }
.production-create-kind-menu { position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:260px;padding:7px;border:1px solid #dbe7ec;border-radius:13px;background:#fff;box-shadow:0 14px 36px rgba(22,53,70,.16); }
.production-create-kind-menu[hidden] { display:none; }
.production-create-kind-menu>button { width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:0;border-radius:9px;color:var(--ink);background:transparent;text-align:left;cursor:pointer; }
.production-create-kind-menu>button:hover,.production-create-kind-menu>button:focus-visible { outline:0;background:#f2f7f9; }
.production-create-kind-menu strong,.production-create-kind-menu small { display:block; }.production-create-kind-menu strong { font-size:13px; }.production-create-kind-menu small { margin-top:3px;color:var(--muted);font-size:11px; }
.production-kind-mark { width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:14px;font-weight:800; }
.page-intro h2 { margin: 10px 0 6px; font-size: 27px; }.page-intro p { margin: 0; color: var(--muted); line-height: 1.65; }
.legend { display: flex; flex-wrap: wrap; gap: 13px; font-size: 10px; color: var(--muted); }.legend span { display: flex; align-items: center; gap: 5px; }
.legend-dot { width: 9px; height: 9px; border-radius: 3px; }.legend-dot.human { background: var(--blue); }.legend-dot.quality { background: var(--amber); }.legend-dot.gate { background: var(--violet); }.legend-line { width: 16px; border-top: 2px solid var(--line); }.legend-line.return { border-color: var(--red); border-top-style: dashed; }
.template-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); min-height: calc(100vh - 205px); gap: 18px; }
.template-list-panel, .flow-panel { background: #fff; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.list-title { padding: 18px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }.list-title span { color: var(--muted); font-size: 11px; }
.template-list { padding: 10px; display: grid; gap: 10px; }
.template-category { overflow: hidden; border: 1px solid #e2ebef; border-radius: 11px; background: #fbfcfd; }
.template-category-head { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 12px; border-bottom: 1px solid #e8eff2; background: #f3f7f9; }
.template-category-head .symbol { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--blue); font-size: 13px; font-weight: 800; }
.template-category-head strong, .template-category-head small { display: block; }.template-category-head strong { font-size: 13px; }.template-category-head small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.template-category-items { padding: 5px; display: grid; gap: 3px; }
.template-item { position: relative; border: 0; width: 100%; padding: 11px 12px 11px 15px; border-radius: 8px; background: transparent; text-align: left; cursor: pointer; display: block; color: var(--ink); }
.template-item::before { content: ""; position: absolute; left: 4px; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: #c8d7de; }
.template-item:hover { background: #f3f7f9; }.template-item.active { background: #eaf3f7; }
.template-item.active::before { background: var(--blue); }
.template-item strong, .template-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.template-item strong { font-size: 12px; }.template-item small { color: var(--muted); margin-top: 4px; font-size: 10px; }
.flow-panel { min-width: 0; display: flex; flex-direction: column; }
.flow-toolbar { min-height: 86px; padding: 17px 21px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); }
.flow-toolbar h3 { margin: 5px 0 3px; font-size: 18px; }.flow-toolbar p { margin: 0; color: var(--muted); font-size: 11px; }
.solution-toolbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }.solution-toolbar-actions .button { padding:7px 10px; font-size:10px; }.solution-state { padding:5px 8px; border-radius:9px; color:var(--muted); background:#edf2f4; font-size:10px; font-weight:800; }.solution-state.enabled { color:var(--green); background:#e5f4ef; }.solution-state.disabled { color:#8a611f; background:#fff2d8; }.template-item.disabled::before { background:#b5c0c6; }.template-item .solution-state-mini { display:inline-block; margin-top:5px; padding:2px 6px; border-radius:7px; color:#8a611f; background:#fff2d8; font-size:9px; font-weight:800; }
.version-browser { padding: 13px 18px 15px; border-bottom: 1px solid var(--line); background: #fbfcfd; }
.version-browser-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; }.version-browser-head strong { font-size: 12px; }.version-browser-head span { color: var(--muted); font-size: 10px; }
.version-list { display: flex; gap: 8px; overflow-x: auto; padding: 1px 1px 6px; scrollbar-width: thin; }
.version-item { flex: 0 0 205px; min-width: 0; padding: 10px 11px; border: 1px solid #dce6eb; border-radius: 9px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.version-item:hover { border-color: #aac6d4; background: #f7fbfd; }.version-item.active { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(36,124,167,.12); }.version-item.current { background: #f3faf7; }.version-item.draft { background: #f5faff; }.version-item.retired { opacity: .72; background: #f4f6f7; }
.version-item-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.version-item-top strong { font-size: 14px; }.version-item-top b { padding: 3px 6px; border-radius: 7px; color: var(--muted); background: #edf2f4; font-size: 9px; }.version-item.current .version-item-top b { color: var(--green); background: #e3f3ed; }.version-item.draft .version-item-top b { color: var(--blue); background: var(--blue-soft); }
.version-item-summary { display: block; min-height: 28px; margin-top: 7px; overflow: hidden; color: #4e6573; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }.version-item small { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; }.version-empty { padding: 11px; color: var(--muted); font-size: 10px; }
.flow-notice { margin: 13px 18px 0; padding: 10px 13px; background: #fff6e6; border: 1px solid #f1deb8; border-radius: 8px; color: #895f20; font-size: 11px; }
.flow-scroll { flex: 1; overflow: auto; background-color: #f8fafb; background-image: radial-gradient(#d8e2e7 1px, transparent 1px); background-size: 18px 18px; min-height: 520px; }
.flow-canvas { position: relative; min-width: 100%; min-height: 520px; }
.flow-svg { position: absolute; inset: 0; overflow: visible; pointer-events: none; z-index: 1; }
.flow-node { position: absolute; width: 184px; min-height: 92px; padding: 11px 12px; border: 1px solid #d3e0e6; border-left: 4px solid var(--blue); border-radius: 10px; color: var(--ink); background: #fff; box-shadow: 0 7px 18px rgba(29,60,78,.08); font: inherit; text-align: left; z-index: 2; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
button.flow-node { appearance: none; cursor: pointer; }.flow-node strong { display: block; font-size: 12px; line-height: 1.35; }.flow-node small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; letter-spacing: .03em; }.flow-node-groups { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }.flow-node-group { display: inline-flex; align-items: center; max-width: 120px; padding: 3px 7px; overflow: hidden; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 10px; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }.flow-node-group.tone-1 { color:#176f96;background:#e3f2f8; }.flow-node-group.tone-2 { color:#386f54;background:#e5f3ea; }.flow-node-group.tone-3 { color:#866a12;background:#f7f0cf; }.flow-node-group.tone-4 { color:#67539b;background:#eee9f8; }.flow-node-group.tone-5 { color:#20756f;background:#def2ef; }.flow-node-group.tone-6 { color:#8a526d;background:#f6e8ef; }.flow-node-group.tone-7 { color:#3f6498;background:#e7eef8; }.flow-node-group.tone-8 { color:#7a6045;background:#f2ebe3; }.flow-node-group.tone-9 { color:#7a4d8c;background:#f2e8f5; }.flow-node-group.tone-10 { color:#466d32;background:#e9f3e2; }.flow-node-group.more { color: var(--muted); background: #edf2f4; }.flow-node-group.unavailable { color: var(--muted); background: #edf2f4; }.flow-node-group.missing { color: var(--red); background: #fbe9e7; }.flow-node.missing-group { border-color: #e9b8b4; border-left-color: var(--red); background: #fff8f7; }.flow-node.needs-attention { border-color: var(--red); box-shadow: 0 0 0 4px rgba(196,78,71,.18),0 8px 24px rgba(64,32,30,.15); transform: translateY(-2px); }.flow-node:focus-visible { outline: 3px solid rgba(36,124,167,.22); outline-offset: 3px; }
.flow-node.quality_task { border-left-color: var(--amber); background: #fffaf1; }.flow-node.quality_task.missing-group { border-color: #e9b8b4; border-left-color: var(--red); background: #fff8f7; }.flow-node.parallel_split, .flow-node.parallel_join, .flow-node.release_gate, .flow-node.exclusive_gateway { border-left-color: var(--violet); background: #f9f7ff; }.flow-node.start, .flow-node.end { border-left-color: var(--green); background: #f1faf6; }.flow-node.independent::after { content: "独立激活"; position: absolute; right: 7px; top: -8px; padding: 2px 6px; border-radius: 8px; color: #fff; background: var(--violet); font-size: 8px; }
.flow-edge { fill: none; stroke: #85a0b0; stroke-width: 1.5; }.flow-edge.condition { stroke: var(--violet); }.flow-edge.return { stroke: var(--red); stroke-dasharray: 6 4; }
.flow-edge-label { font-size: 9px; fill: #6c8190; paint-order: stroke; stroke: #f8fafb; stroke-width: 4px; }
.flow-footer { padding: 11px 18px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 10px; }
.template-group-editor { margin: 14px 18px 0; padding: 16px; border: 1px solid #c9dce5; border-radius: 12px; background: #f8fbfc; }.template-group-editor-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }.template-group-editor-head h4 { margin: 0 0 4px; font-size: 14px; }.template-group-editor-head p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.template-group-summary { flex: 0 0 auto; padding: 6px 9px; border-radius: 9px; color: var(--muted); background: #eaf1f4; font-size: 9px; white-space: nowrap; }.template-group-summary.complete { color: var(--green); background: #e2f2ec; }.template-group-summary.missing { color: var(--red); background: #fbe9e7; }.template-group-actions { display: grid; grid-template-columns: minmax(360px,1fr) auto; gap: 12px; align-items: end; margin-top: 14px; }.template-group-actions label > span { display: block; margin-bottom: 5px; font-size: 9px; font-weight: 800; }.template-group-actions input { width: 100%; padding: 9px 10px; border: 1px solid #c7d6de; border-radius: 8px; }.template-group-actions .button { width: auto; min-width: 112px; white-space: nowrap; }.template-change-summary { min-width: 0; }
.empty-state { padding: 90px 20px; text-align: center; color: var(--muted); }
.skeleton { height: 54px; border-radius: 9px; background: linear-gradient(100deg,#eff3f5 30%,#f8fafb 50%,#eff3f5 70%); background-size: 300% 100%; animation: shimmer 1.5s infinite; margin: 7px 0; }.skeleton.tall { height: 210px; }
@keyframes shimmer { to { background-position: -100% 0; } }
.empty-product { min-height: 430px; display: grid; place-items: center; align-content: center; text-align: center; padding: 45px; }.empty-product h3 { margin: 18px 0 8px; }.empty-product p { max-width: 600px; margin: 0; color: var(--muted); line-height: 1.7; }.empty-illustration { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; color: var(--blue); background: var(--blue-soft); font-size: 25px; font-weight: 800; }.feature-chips { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }.feature-chips span { padding: 7px 11px; border-radius: 20px; background: var(--soft); color: var(--muted); font-size: 11px; }
.order-lifecycle { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; padding: 20px 23px; border: 1px solid #dce7ec; border-radius: 15px; background: #fff; box-shadow: 0 7px 20px rgba(28,55,72,.04); }
.order-lifecycle > i { flex: 1; height: 1px; min-width: 18px; background: #bfd0d8; position: relative; }
.order-lifecycle > i::after { content: ""; position: absolute; right: 0; top: -3px; width: 6px; height: 6px; border-right: 1px solid #8ea6b2; border-top: 1px solid #8ea6b2; transform: rotate(45deg); }
.lifecycle-step { min-width: 112px; display: grid; grid-template-columns: 31px 1fr; column-gap: 9px; align-items: center; }
.lifecycle-step span { grid-row: 1 / 3; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #eef3f5; color: #78909d; font-size: 11px; font-weight: 800; }
.lifecycle-step.done span { color: #fff; background: var(--green); }
.lifecycle-step strong, .lifecycle-step small { display: block; white-space: nowrap; }.lifecycle-step strong { font-size: 12px; }.lifecycle-step small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.production-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr); gap: 18px; margin-bottom: 18px; }
.order-preview .panel-head, .dispatch-rules .panel-head { border-bottom: 1px solid #edf2f4; }
.preview-form { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 20px 24px 8px; }
.preview-form label > span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; }
.preview-form label > div { min-height: 41px; display: flex; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafcfd; font-size: 12px; }
.preview-form .placeholder-value { color: #8ca0ac; }
.secure-note { margin: 13px 24px 22px; padding: 11px 13px; border-radius: 8px; background: #fff7e9; color: #866125; font-size: 10px; line-height: 1.6; }
.dispatch-rules ul { list-style: none; margin: 0; padding: 10px 23px 19px; }
.dispatch-rules li { display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: center; padding: 12px 0; border-bottom: 1px solid #edf2f4; }
.dispatch-rules li:last-child { border-bottom: 0; }.dispatch-rules li > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: var(--blue-soft); font-size: 11px; font-weight: 800; }.dispatch-rules strong, .dispatch-rules small { display: block; }.dispatch-rules strong { font-size: 12px; }.dispatch-rules small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.protected-empty { min-height: 150px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 26px 30px; }
.protected-empty h3 { margin: 0 0 8px; }.protected-empty p { margin: 0; max-width: 730px; color: var(--muted); line-height: 1.7; }.protected-empty .feature-chips { margin-top: 0; justify-content: flex-end; max-width: 280px; }
.placeholder-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.placeholder-grid .panel { padding: 26px; }.placeholder-grid h3 { margin: 15px 0 9px; font-size: 15px; }.placeholder-grid strong { font-size: 31px; }.placeholder-grid p { margin: 7px 0 0; color: var(--muted); font-size: 11px; }.placeholder-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--blue-soft); color: var(--blue); font-weight: 800; }
.role-diagram { min-height: 420px; padding: 60px 30px; display: flex; flex-direction: column; align-items: center; }.role { min-width: 190px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 12px; text-align: center; font-weight: 700; background: #fff; }.role small { display: block; margin-top: 7px; color: var(--muted); font-weight: 400; }.role.core { color: #fff; background: var(--navy); border-color: var(--navy); }.role-links { width: min(70%, 650px); height: 70px; border-bottom: 1px solid #adc0ca; position: relative; }.role-links::before { content: ""; position: absolute; top: 0; left: 50%; height: 70px; border-left: 1px solid #adc0ca; }.role-links span { position: absolute; bottom: -8px; width: 15px; height: 15px; border-right: 1px solid #adc0ca; border-bottom: 1px solid #adc0ca; transform: rotate(45deg); }.role-links span:nth-child(1) { left: 0; }.role-links span:nth-child(2) { left: calc(50% - 7px); }.role-links span:nth-child(3) { right: 0; }.role-row { width: min(90%, 850px); display: flex; justify-content: space-between; gap: 20px; padding-top: 16px; }
.assignment-intro { align-items: center; }.assignment-actions { display: flex; align-items: center; gap: 12px; }.assignment-capability { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; white-space: nowrap; }.assignment-capability i { width: 8px; height: 8px; border-radius: 50%; background: #a8b6bf; }.assignment-capability.ready i { background: var(--green); box-shadow: 0 0 0 4px rgba(46,139,110,.1); }
.assignment-boundary { display: grid; grid-template-columns: minmax(0,1fr); gap: 13px; align-items: center; margin-bottom: 16px; padding: 13px 16px; border: 1px solid #efd9ae; border-radius: 12px; color: #78571f; background: #fff8eb; }.assignment-boundary-message { display:grid;grid-template-columns:39px minmax(0,1fr);gap:13px;align-items:center; }.assignment-boundary-message > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #8a611f; background: #f7e5c2; font-weight: 800; }.assignment-boundary strong, .assignment-boundary p { display: block; }.assignment-boundary strong { font-size: 12px; }.assignment-boundary p { margin: 4px 0 0; color: #937344; font-size: 10px; line-height: 1.55; }
.assignment-summary-grid { display: grid; grid-template-columns: minmax(340px,1.75fr) repeat(3,minmax(120px,.55fr)); gap: 14px; margin-bottom: 16px; }.assignment-order-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; }.assignment-order-card h3 { margin: 6px 0 5px; font-size: 17px; }.assignment-order-card p { margin: 0; color: var(--muted); font-size: 10px; }.assignment-revision { min-width: 92px; padding-left: 20px; border-left: 1px solid var(--line); text-align: right; }.assignment-revision small, .assignment-revision strong, .assignment-revision span { display: block; }.assignment-revision small { color: var(--muted); font-size: 9px; }.assignment-revision strong { margin: 3px 0; font-size: 22px; }.assignment-revision span { color: #9b7a42; font-size: 9px; }.assignment-metric { padding: 18px 19px; }.assignment-metric small, .assignment-metric strong, .assignment-metric span { display: block; }.assignment-metric small { color: var(--muted); font-size: 10px; }.assignment-metric strong { margin: 5px 0 2px; font-size: 25px; }.assignment-metric span { color: #95a5af; font-size: 9px; }
.assignment-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(285px,.65fr); gap: 17px; }.assignment-plan-panel { overflow: hidden; }.assignment-panel-head { align-items: flex-end; border-bottom: 1px solid #edf2f4; }.assignment-panel-head p { max-width: 620px; margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.assignment-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; color: var(--muted); font-size: 9px; }.assignment-legend span { display: flex; align-items: center; gap: 5px; white-space: nowrap; }.assignment-legend i { width: 8px; height: 8px; border-radius: 3px; background: var(--amber); }.assignment-legend i.current { background: var(--blue); }.assignment-legend i.quality { background: var(--violet); }
.assignment-node-list { padding: 5px 22px 18px; }.assignment-node-row { display: grid; grid-template-columns: 34px minmax(150px,1fr) auto minmax(210px,.75fr); gap: 13px; align-items: center; padding: 15px 2px; border-bottom: 1px solid #edf2f4; }.assignment-node-row:last-child { border-bottom: 0; }.assignment-node-index { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: #637d8d; background: #eef3f5; font-size: 10px; font-weight: 800; }.assignment-node-row.current .assignment-node-index { color: #fff; background: var(--blue); }.assignment-node-row.quality .assignment-node-index { color: #fff; background: var(--violet); }.assignment-node-name strong, .assignment-node-name small { display: block; }.assignment-node-name strong { font-size: 12px; }.assignment-node-name small { margin-top: 4px; color: var(--muted); font-size: 9px; }.assignment-node-status { padding: 5px 8px; border-radius: 14px; color: #8a611f; background: #fff2d8; font-size: 9px; white-space: nowrap; }.assignment-node-row.current .assignment-node-status { color: var(--blue); background: var(--blue-soft); }.assignment-node-row.quality .assignment-node-status { color: #615395; background: #eeebf7; }.assignment-person-select { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 8px; }.assignment-person-select > span { color: var(--muted); font-size: 9px; white-space: nowrap; }.assignment-person-select select { width: 100%; min-width: 0; padding: 9px 28px 9px 10px; border: 1px solid #cad9e1; border-radius: 8px; color: var(--ink); background: #fff; font-size: 11px; }.assignment-person-select select:focus { outline: 2px solid rgba(36,124,167,.16); border-color: var(--blue); }
.assignment-side { display: grid; align-content: start; gap: 14px; }.assignment-people-list { padding: 0 20px 18px; }.assignment-person-card { display: grid; grid-template-columns: 39px minmax(0,1fr) 25px; gap: 10px; align-items: center; padding: 13px 0; border-top: 1px solid #edf2f4; }.assignment-person-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--blue); font-size: 11px; font-weight: 800; }.assignment-person-avatar.person-2 { background: var(--violet); }.assignment-person-card strong, .assignment-person-card small { display: block; }.assignment-person-card strong { font-size: 11px; }.assignment-person-card small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.55; }.assignment-person-card b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 10px; }
.independent-task-panel { border-color: #ecd7aa; background: #fffdf8; }.independent-task-list { display: grid; gap: 10px; padding: 0 20px 18px; }.independent-task-item { display: grid; gap: 8px; padding: 13px; border: 1px solid #ead9b7; border-radius: 10px; background: #fff9ed; }.independent-task-item > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.independent-task-item strong { font-size: 11px; }.independent-task-item span { padding: 4px 7px; border-radius: 12px; color: #8a611f; background: #f7e5c2; font-size: 9px; white-space: nowrap; }.independent-task-item p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.independent-task-item .button { justify-self: stretch; padding: 8px 10px; font-size: 10px; }.independent-task-item.ready, .independent-task-item.assigned, .independent-task-item.in_progress { border-color: #bcd8e6; background: #f4fafc; }.independent-task-item.ready span, .independent-task-item.assigned span, .independent-task-item.in_progress span { color: var(--blue); background: var(--blue-soft); }.independent-task-item.passed { border-color: #bcded1; background: #f4fbf8; }.independent-task-item.passed span { color: var(--green); background: #dff1ea; }.independent-task-item.held, .independent-task-item.rejected { border-color: #efc9c6; background: #fff8f7; }.independent-task-item.held span, .independent-task-item.rejected span { color: var(--red); background: #f8e4e2; }
.assignment-check-panel { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; padding: 18px 20px; border-color: #d8e4e9; }.check-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: #667f8e; background: #edf3f5; font-weight: 800; }.assignment-check-panel h3 { margin: 0 0 5px; font-size: 12px; }.assignment-check-panel p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.assignment-check-panel.passed { border-color: #bcded1; background: #f4fbf8; }.assignment-check-panel.passed .check-icon { color: var(--green); background: #dff1ea; }.assignment-check-panel.failed { border-color: #efc9c6; background: #fff8f7; }.assignment-check-panel.failed .check-icon { color: var(--red); background: #f8e4e2; }
.assignment-rule-card { padding: 20px; }.assignment-rule-card h3 { margin: 0 0 13px; font-size: 13px; }.assignment-rule-card ol { list-style: none; display: grid; gap: 9px; margin: 0; padding: 0; }.assignment-rule-card li { display: flex; align-items: center; gap: 9px; color: #425d6e; font-size: 10px; }.assignment-rule-card li span { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 9px; font-weight: 800; }.assignment-rule-card p { margin: 14px 0 0; padding-top: 13px; border-top: 1px solid #edf2f4; color: var(--muted); font-size: 9px; line-height: 1.65; }
.scrim { display: none; }
.assignment-boundary.real { justify-items:end;border-color:transparent;background:transparent;padding:0; }.assignment-boundary.real .assignment-instance-select { width:min(100%,320px); }.assignment-boundary.real p { color: #607f91; }.assignment-instance-select { display: grid; gap: 5px; }.assignment-instance-select span { color: var(--muted); font-size: 9px; font-weight: 700; }.assignment-instance-select select { width: 100%; min-width: 0; padding: 9px 28px 9px 10px; border: 1px solid #bfd3dd; border-radius: 8px; color: var(--ink); background: #fff; font-size: 10px; }
.assignment-reason-panel { padding: 17px 20px; }.assignment-reason-panel label, .assignment-reason-panel label > span { display: block; }.assignment-reason-panel label > span { margin-bottom: 8px; font-size: 11px; font-weight: 800; }.assignment-reason-panel textarea { width: 100%; resize: vertical; padding: 10px; border: 1px solid #cad9e1; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; font-size: 10px; line-height: 1.6; }.assignment-reason-panel p { margin: 8px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.exception-management-list { display: grid; gap: 14px; }.exception-management-card { padding: 21px 23px; border-left: 4px solid var(--red); }.exception-management-card.severity-low { border-left-color: var(--amber); }.exception-management-card.severity-medium { border-left-color: #d18b3d; }.exception-management-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.exception-management-head > div { display: flex; align-items: center; gap: 8px; }.exception-management-head small, .exception-scope { color: var(--muted); font-size: 9px; }.exception-management-card h3 { margin: 15px 0 5px; font-size: 17px; }.exception-order { margin: 0; color: var(--muted); font-size: 10px; }.exception-reason { margin-top: 15px; padding: 14px 16px; border-radius: 10px; background: #fff6f5; }.exception-reason strong { color: var(--red); font-size: 11px; }.exception-reason p { margin: 6px 0; color: var(--ink); font-size: 11px; line-height: 1.65; white-space: pre-wrap; }.exception-reason small { color: var(--muted); font-size: 9px; }.exception-management-actions { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 12px; margin-top: 15px; }.exception-resolution { flex: 1; display: grid; gap: 6px; }.exception-resolution span { font-size: 10px; font-weight: 800; }.exception-resolution textarea { width: 100%; resize: vertical; padding: 10px; border: 1px solid #cad9e1; border-radius: 8px; color: var(--ink); font: inherit; font-size: 10px; line-height: 1.55; }.exception-resolution.has-field-error textarea, .exception-resolution textarea[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(190,55,43,.12); }.exception-resolution-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; color: var(--muted); font-size: 10px; }.exception-action-error { flex-basis: 100%; padding: 9px 11px; border-radius: 8px; color: var(--red); background: #fff0ef; font-size: 10px; font-weight: 700; line-height: 1.5; }.exception-action-error[hidden] { display: none; }.exception-management-empty { padding: 32px; text-align: center; }.exception-management-empty strong { font-size: 14px; }.exception-management-empty p { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.management-dialog { width: min(440px,calc(100vw - 28px)); padding: 0; border: 0; border-radius: 18px; color: var(--ink); box-shadow: 0 24px 70px rgba(10,37,53,.28); }.management-dialog::backdrop { background: rgba(11,31,44,.55); }.management-dialog form { position: relative; display: grid; padding: 30px; }.dialog-close { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; border: 0; border-radius: 50%; color: var(--muted); background: #eef3f5; cursor: pointer; }.dialog-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--navy); font-weight: 800; }.management-dialog h2 { margin: 18px 0 8px; font-size: 21px; }.management-dialog p { margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.7; }.management-dialog label > span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 800; }.management-dialog input, .management-dialog textarea { width: 100%; padding: 12px; border: 1px solid #c7d6de; border-radius: 9px; font: inherit; }.management-dialog textarea { resize: vertical; line-height: 1.6; }.management-dialog .has-field-error > input, .management-dialog .has-field-error > select, .management-dialog .has-field-error > textarea, .management-dialog [aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(190,55,43,.12); }.management-field-error { display: block; margin-top: 7px; color: var(--red); font-size: 10px; font-weight: 700; line-height: 1.55; white-space: normal; overflow-wrap: anywhere; }.management-dialog fieldset.has-field-error { border-color: var(--red); background: #fff8f7; }.dialog-error { margin-top: 12px; padding: 9px 11px; border-radius: 8px; color: var(--red); background: #fff0ef; font-size: 10px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.production-filters [aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px rgba(190,55,43,.12); }.production-filters .management-field-error { flex-basis: 100%; margin-top: 0; text-align: right; }
.template-node-group-dialog { width: min(680px,calc(100vw - 30px)); }.template-node-detail-dialog form { max-height: min(86vh,820px); overflow-y: auto; }.template-node-detail-section { display: grid; gap: 12px; margin-top: 15px; padding: 16px; border: 1px solid #d8e4e9; border-radius: 13px; background: #f8fbfc; }.template-node-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.template-node-detail-head span, .template-node-detail-head strong { display: block; }.template-node-detail-head span { margin-bottom: 4px; color: var(--muted); font-size: 9px; font-weight: 700; }.template-node-detail-head strong { font-size: 13px; }.template-node-detail-head > b { padding: 4px 7px; border-radius: 8px; color: var(--blue); background: var(--blue-soft); font-size: 9px; }.template-node-detail-head .button { flex: 0 0 auto; padding: 7px 10px; font-size: 9px; }.template-node-form-fields { display: grid; gap: 9px; }.template-node-form-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; padding: 12px 13px; border: 1px solid #e2eaee; border-radius: 10px; background: #fff; }.template-node-form-field strong { min-width: 0; font-size: 11px; overflow-wrap: anywhere; }.template-node-form-field > span { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }.template-node-form-field b { padding: 3px 6px; border-radius: 7px; color: var(--muted); background: #edf2f4; font-size: 8px; }.template-node-form-field b.required { color: #8a611f; background: #fff0cf; }.template-node-form-field b.decision { color: #615395; background: #eeebf7; }.template-node-form-field small, .template-node-form-field p { grid-column: 1 / 3; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; overflow-wrap: anywhere; }.template-node-form-field p { color: #526d7c; }.template-node-form-empty { padding: 18px 12px; border-radius: 10px; color: var(--muted); background: #fff; font-size: 10px; line-height: 1.65; text-align: center; }.template-node-detail-note { margin: 0 !important; padding-top: 10px; border-top: 1px solid #e2eaee; font-size: 9px !important; }.template-node-current-groups { margin: 0 !important; padding: 10px 12px; border-radius: 9px; color: #526d7c !important; background: #fff; font-size: 10px !important; }.template-node-group-section fieldset { margin-top: 1px; }.template-node-group-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; max-height: 340px; overflow: auto; }.template-node-group-options label { min-width: 0; cursor: pointer; }.template-node-group-options input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.template-node-group-options span { display: block; margin: 0; padding: 11px 12px; overflow: hidden; border: 1px solid #d5e1e7; border-radius: 10px; color: #5f7888; background: #fff; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }.template-node-group-options input:checked + span { color: #fff; border-color: var(--blue); background: var(--blue); }.template-node-group-options input:focus-visible + span { outline: 3px solid rgba(36,124,167,.2); outline-offset: 2px; }.template-node-group-options input:disabled + span { cursor: default; opacity: .7; }
.button.danger { color: #fff; border-color: var(--red); background: var(--red); }.dialog-action-spacer { flex: 1; }
.production-intro { gap: 20px; }
.production-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.production-boundary { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 16px; align-items: center; margin-bottom: 16px; padding: 18px 22px; border-left: 4px solid var(--amber); }
.production-boundary.real { border-left-color: var(--green); }
.production-boundary-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: #8a611f; background: #fff2d8; font-weight: 800; }
.production-boundary.real .production-boundary-icon { color: var(--green); background: #e5f4ef; }
.production-boundary strong { display: block; font-size: 13px; }
.production-boundary p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.production-workspace { display: grid; grid-template-columns: minmax(350px,.8fr) minmax(0,1.35fr); gap: 16px; align-items: start; }
.production-list-panel, .production-detail-panel { overflow: hidden; }
.production-toolbar { align-items: flex-end; border-bottom: 1px solid #edf2f4; }
.production-filters { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.production-filters select, .production-filters input { min-height: 35px; padding: 8px 10px; border: 1px solid #cad9e1; border-radius: 8px; color: var(--ink); background: #fff; font: inherit; font-size: 10px; }
.production-filters input { width: 150px; }
.production-filters input[type="date"] { width: 126px; }
.order-view-tabs { display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; gap: 3px; margin-top: 10px; padding: 3px; border-radius: 9px; background: #edf3f6; white-space: nowrap; }
.order-view-tabs button { flex: 0 0 auto; min-width: 48px; border: 0; border-radius: 7px; padding: 6px 14px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.order-view-tabs button.active { color: #fff; background: var(--blue); box-shadow: 0 5px 12px rgba(36,124,167,.18); }
.order-history-note { margin: 0 24px 18px; padding: 12px 14px; border-radius: 10px; color: #76531e; background: #fff6e6; font-size: 10px; line-height: 1.7; }
.order-history-note strong { display: block; color: #5f431a; }
.order-history-note.voided { color:#7d2922;background:#fff0ef; }.order-history-note.voided strong { color:#9d2d24; }
.order-history-processes { margin-top: 18px; border-top: 1px solid #edf2f4; padding-top: 18px; }
.order-history-processes>h4 { margin: 0 0 5px; font-size: 13px; }.order-history-processes>p { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.order-history-instance-list { display: grid; gap: 8px; margin-bottom: 12px; }
.order-history-instance { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #dbe7ed; border-radius: 10px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.order-history-instance.active { border-color: var(--blue); background: var(--blue-soft); }.order-history-instance span,.order-history-instance strong,.order-history-instance small { display:block; }.order-history-instance small { margin-top:4px;color:var(--muted);font-size:9px; }
.tracking-archive-assignments { display: grid; gap: 8px; }
.tracking-archive-assignments > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-radius: 10px; background: #f4f8fa; }
.tracking-archive-assignments small { color: var(--muted); text-align: right; }
.production-order-list { max-height: 640px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #a9bcc7 #edf3f6; padding: 6px 20px 18px; }
.production-order-list::-webkit-scrollbar { width: 8px; }
.production-order-list::-webkit-scrollbar-track { background: #edf3f6; border-radius: 999px; }
.production-order-list::-webkit-scrollbar-thumb { background: #a9bcc7; border-radius: 999px; }
.production-order-row { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; margin: 3px 0; padding: 13px 12px 13px 15px; border: 1px solid transparent; border-bottom-color: #e7eef2; border-radius: 10px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.production-order-row:hover { border-color: #d3e3ea; background: #f5fafc; }
.production-order-row:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.production-order-row.active { border-color: #78b4cf; color: #155f84; background: #eaf6fb; box-shadow: inset 4px 0 0 var(--blue), 0 4px 12px rgba(24,91,124,.12); }
.production-order-row.active strong { color: #114e6d; }
.production-order-row.active small { color: #4f7182; }
.production-order-row strong, .production-order-row small { display: block; }
.production-order-row strong { font-size: 12px; }
.production-order-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.production-order-row .badge, .production-item-card .badge { min-height:28px;padding:6px 10px;justify-self:end;flex:0 0 auto;font-size:12px;font-weight:700; }
.production-detail-head { display: flex; justify-content: space-between; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid #edf2f4; }
.production-detail-head h3 { margin: 5px 0 4px; font-size: 20px; }
.production-detail-head p { margin: 0; color: var(--muted); font-size: 10px; }
.production-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.production-detail-body { padding: 20px 24px 24px; }
.order-text-field { grid-column: 1 / -1; }
.order-note-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 18px; }
.order-note-block { padding: 13px 14px; border: 1px solid #e4ecef; border-radius: 11px; background: #f8fafb; }
.order-note-block.worker-visible { background: #f3f8f5; border-color: #dcebe2; }
.order-note-block small, .order-note-block strong { display: block; }
.order-note-block small { margin-bottom: 6px; color: var(--muted); font-size: 9px; }
.order-note-block strong { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.55; }
.order-description-preview,.tracking-order-note { display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.production-detail-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }
.production-detail-metrics div { padding: 12px; border-radius: 10px; background: #f5f8fa; }
.production-detail-metrics small, .production-detail-metrics strong { display: block; }
.production-detail-metrics small { color: var(--muted); font-size: 9px; }
.production-detail-metrics strong { margin-top: 5px; font-size: 12px; }
.production-item-list { display: grid; gap: 9px; }
.production-item-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 13px 15px; border: 1px solid #e5edf1; border-radius: 10px; }
.production-item-card strong, .production-item-card small { display: block; }
.production-item-card strong { font-size: 11px; }
.production-item-card small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.production-result { margin: 0 24px 22px; padding: 11px 13px; border-radius: 8px; color: #237155; background: #e5f4ef; font-size: 10px; line-height: 1.6; }
.production-result.error { color: var(--red); background: #fff0ef; }
.production-dialog { width: min(680px,calc(100vw - 28px)); }
.dispatch-dialog { width: min(860px,calc(100vw - 28px)); }
.production-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.quantity-unit-control { display: grid; grid-template-columns: minmax(0,1fr) 72px; }
.quantity-unit-control input { min-width: 0; }
.quantity-unit-control input:first-child { border-radius: 9px 0 0 9px; }
.quantity-unit-control input:last-child { border-left: 0; border-radius: 0 9px 9px 0; color: #526b79; background: #f3f7f9; font-weight: 700; text-align: center; }
.production-quantity-field > small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.production-dialog select, .production-dialog textarea { width: 100%; padding: 12px; border: 1px solid #c7d6de; border-radius: 9px; color: var(--ink); background: #fff; font: inherit; }
.production-dispatch-lines { display: grid; gap: 13px; max-height: 56vh; overflow: auto; padding-right: 3px; }
.production-dispatch-line { padding: 15px; border: 1px solid #dfe9ee; border-radius: 11px; background: #fafcfd; }
.production-dispatch-line h3 { margin: 0 0 8px; font-size: 15px; }
.production-dispatch-order { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 14px; border: 1px solid #cfe0e8; border-radius: 11px; background: #f5fafc; }
.production-dispatch-order div, .production-dispatch-facts div { min-width: 0; }
.production-dispatch-order small, .production-dispatch-facts small { display: block; margin-bottom: 4px; color: #657984; }
.production-dispatch-order strong, .production-dispatch-facts strong { display: block; overflow-wrap: anywhere; }
.production-dispatch-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 14px; }
.production-dispatch-solution { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e0eaee; color: #526b77; }
.dispatch-solution { min-height: 44px; padding: 9px 11px; border: 1px solid #d8e5eb; border-radius: 9px; background: #f4f9fb; }
.dispatch-solution span, .dispatch-solution small { display: block; color: var(--muted); font-size: 9px; }
.dispatch-solution strong { display: block; margin: 3px 0; color: var(--ink); font-size: 11px; }
.dispatch-coordinator-note { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; margin: 14px 0; padding: 12px 14px; border: 1px solid #b9dfe9; border-radius: 11px; background: #eef9fb; color: #164a5b; }
.dispatch-coordinator-note > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #d7f0f5; color: #18708a; font-weight: 800; }
.dispatch-coordinator-note strong, .dispatch-coordinator-note small { display: block; }
.dispatch-coordinator-note small { margin-top: 4px; color: #4c7180; }
.production-variable-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 11px; padding-top: 11px; border-top: 1px solid #e5edf1; }
.production-variable-fields label.checkbox-field { display: flex; align-items: center; gap: 8px; padding-top: 22px; }
.production-variable-fields label.checkbox-field input { width: auto; }
.catalog-preview-panel { margin-top: 18px; overflow: hidden; }
.catalog-preview-panel .panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.catalog-upload-row { display: flex; align-items: center; gap: 10px; padding: 18px 24px; border-bottom: 1px solid #edf2f4; }
.catalog-file-picker { min-width: 0; flex: 1; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px dashed #b7ced9; border-radius: 10px; color: var(--navy); background: #f7fbfd; cursor: pointer; }
.catalog-file-picker span { flex: none; font-size: 10px; font-weight: 800; }
.catalog-file-picker input { min-width: 0; width: 100%; color: var(--muted); font: inherit; font-size: 9px; }
.catalog-preview-result { padding: 20px 24px 24px; }
.catalog-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.catalog-summary div { padding: 13px; border-radius: 10px; background: #f5f8fa; }
.catalog-summary div.ready { background: #eaf7f2; }.catalog-summary div.warning { background: #fff6e4; }.catalog-summary div.blocked { background: #fff0ef; }
.catalog-summary small, .catalog-summary strong { display: block; }.catalog-summary small { color: var(--muted); font-size: 9px; }.catalog-summary strong { margin-top: 5px; font-size: 19px; }
.catalog-issue-counts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; color: var(--muted); font-size: 9px; }
.catalog-issue-counts span { padding: 6px 8px; border-radius: 14px; background: #f0f4f6; }.catalog-issue-counts strong { color: var(--ink); }
.catalog-preview-note { display: flex; justify-content: space-between; gap: 12px; margin: 16px 0 9px; padding: 11px 13px; border-radius: 9px; background: var(--blue-soft); }
.catalog-preview-note strong, .catalog-preview-note span { min-width: 0; overflow-wrap: anywhere; }.catalog-preview-note strong { font-size: 10px; }.catalog-preview-note span { color: var(--muted); font-size: 9px; text-align: right; }
.catalog-table-wrap { max-height: 420px; overflow: auto; border: 1px solid #e2ebef; border-radius: 10px; }
.catalog-preview-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.catalog-preview-table th { position: sticky; top: 0; z-index: 1; padding: 9px 10px; color: var(--muted); background: #f5f8fa; text-align: left; white-space: nowrap; }
.catalog-preview-table td { padding: 10px; border-top: 1px solid #edf2f4; vertical-align: top; }
.catalog-preview-table td small { display: block; margin-top: 3px; color: var(--muted); }
.catalog-preview-table td:last-child span { display: inline-block; margin: 0 4px 4px 0; padding: 4px 6px; border-radius: 10px; color: #8a611f; background: #fff2d8; }
.catalog-preview-table tr.blocked td:last-child span { color: var(--red); background: #fff0ef; }
.sample-detail-summary { margin-bottom: 16px; padding: 14px 16px; border-radius: 10px; background: #f5f8fa; }.sample-detail-summary small, .sample-detail-summary strong { display: block; }.sample-detail-summary small { color: var(--muted); font-size: 9px; }.sample-detail-summary strong { margin-top: 5px; font-size: 12px; }.sample-detail-summary p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; white-space: pre-wrap; }
.sample-dialog { width: min(760px,calc(100vw - 28px)); }.sample-dialog form { max-height: min(92vh,900px); overflow-y: auto; }.sample-dialog-heading { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; align-items: start; padding-right: 44px; }.sample-dialog-heading h2 { margin: 1px 0 5px; }.sample-dialog-heading p { margin: 0; }.sample-form-grid { margin-top: 22px; }.sample-form-grid > label > small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.5; }.sample-form-section-title { grid-column: 1 / -1; margin: 2px 0 -2px; padding-top: 14px; border-top: 1px solid #e5ecef; font-size: 13px; }.sample-form-section-title:first-child { padding-top: 0; border-top: 0; }.sample-deliverables { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; grid-column: 1 / -1; margin: 0; padding: 14px; border: 1px solid #dce7ec; border-radius: 10px; background: #f9fbfc; }.sample-deliverables legend { padding: 0 5px; font-size: 11px; font-weight: 800; }.sample-deliverables > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 0; padding: 12px; border-radius: 9px; background: #fff; }.sample-deliverables:not([data-mode="combined"]) > div { grid-column: 1 / -1; }.sample-deliverables > div strong { grid-column: 1 / -1; font-size: 11px; }.sample-deliverables #sampleWetFields label:last-child { grid-column: 1 / -1; }.sample-deliverable-hint { grid-column: 1 / -1; margin: 0!important; padding: 10px 12px; border-radius: 8px; color: #5f7888!important; background: #edf4f7; font-size: 10px!important; }.sample-requirement { grid-column: 1 / -1; }.sample-dialog .dialog-actions { position: sticky; bottom: 0; z-index: 2; margin: 20px -30px 0; padding: 14px 30px 18px; border-top: 1px solid #e5ecef; background: rgba(255,255,255,.96); }
@media (max-width: 1180px) { .assignment-summary-grid { grid-template-columns: repeat(3,1fr); }.assignment-order-card { grid-column: 1 / 4; }.assignment-layout { grid-template-columns: 1fr; }.assignment-side { grid-template-columns: repeat(3,1fr); }.assignment-side .panel { min-width: 0; } }
@media (max-width: 1050px) { .metric-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid, .production-grid { grid-template-columns: 1fr; }.template-layout { grid-template-columns: 250px minmax(0,1fr); }.sync-state { display: none; }.order-lifecycle { overflow-x: auto; }.protected-empty { grid-template-columns: 72px minmax(0, 1fr); }.protected-empty .feature-chips { grid-column: 1 / 3; justify-content: flex-start; max-width: none; }.assignment-node-row { grid-template-columns: 34px minmax(140px,1fr) minmax(210px,.75fr); }.assignment-node-status { display: none; } }
@media (max-width: 760px) {
  .shell { display: block; }.sidebar { position: fixed; left: 0; transform: translateX(-102%); width: 250px; transition: transform .22s ease; }.sidebar.open { transform: translateX(0); }.scrim.open { display: block; position: fixed; inset: 0; background: rgba(11,31,44,.45); z-index: 19; }.menu-button { display: block; }.topbar { height: 69px; padding: 0 18px; }.topbar .button.secondary, .topbar .avatar { display: none; }.app-version { max-width: 170px; overflow: hidden; text-overflow: ellipsis; }.content { padding: 18px 14px 35px; }.hero { padding: 27px 23px; align-items: flex-start; flex-direction: column; }.metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.metric-card { padding: 15px; }.metric-card p, .metric-icon { display: none; }.dashboard-grid { display: block; }.dashboard-grid .panel { margin-bottom: 14px; }.page-intro { align-items: flex-start; flex-direction: column; }.legend { display: none; }.template-layout { display: block; }.template-list-panel { margin-bottom: 12px; }.template-list { display: grid; grid-template-columns: 1fr; }.flow-scroll { min-height: 570px; }.flow-canvas { min-height: 570px; }.flow-footer { flex-direction: column; }.preview-form { grid-template-columns: 1fr; }.protected-empty { grid-template-columns: 1fr; text-align: center; }.protected-empty .empty-illustration { margin: 0 auto; }.protected-empty .feature-chips { grid-column: auto; justify-content: center; }.placeholder-grid { grid-template-columns: 1fr; }.role-row { flex-direction: column; align-items: center; }.role-links { width: 1px; border-bottom: 0; }.role-links span { display: none; }.assignment-actions { width: 100%; justify-content: space-between; flex-wrap: wrap; }.assignment-summary-grid { grid-template-columns: 1fr 1fr; }.assignment-order-card { grid-column: 1 / 3; }.assignment-summary-grid .assignment-metric:last-child { grid-column: 1 / 3; }.assignment-side { grid-template-columns: 1fr; }.assignment-node-list { padding-inline: 15px; }.assignment-node-row { grid-template-columns: 31px minmax(0,1fr); gap: 10px; }.assignment-person-select { grid-column: 2; }.assignment-panel-head { align-items: flex-start; flex-direction: column; }.assignment-legend { justify-content: flex-start; }
}
@media (max-width: 760px) { .assignment-boundary { grid-template-columns:minmax(0,1fr); }.assignment-instance-select { grid-column:auto; }.assignment-boundary.real .assignment-instance-select { width:100%; } }
@media (max-width: 1050px) { .production-workspace { grid-template-columns: 1fr; }.production-order-list { max-height: 360px; } }
@media (max-width: 760px) { .production-actions, .production-filters { width: 100%; justify-content: flex-start; }.production-toolbar, .production-detail-head { align-items: flex-start; flex-direction: column; }.production-filters input { flex: 1; width: auto; min-width: 120px; }.production-form-grid, .production-variable-fields, .production-dispatch-grid, .order-note-grid, .production-dispatch-order, .production-dispatch-facts { grid-template-columns: 1fr; }.production-detail-metrics { grid-template-columns: 1fr 1fr; }.production-dialog form { padding: 24px 19px; }.production-boundary { grid-template-columns: 39px minmax(0,1fr); padding: 16px; }.production-boundary-icon { width: 38px; height: 38px; } }
@media (max-width: 760px) { .template-group-editor { margin-inline: 10px; padding: 13px; }.template-group-actions, .template-node-group-options { grid-template-columns: 1fr; }.template-group-editor-head, .template-node-detail-head { align-items: flex-start; flex-direction: column; }.template-node-detail-head .button { width: 100%; }.template-group-summary { white-space: normal; }.template-node-group-dialog form { padding: 24px 19px; }.template-node-form-field { grid-template-columns: 1fr; }.template-node-form-field > span { justify-content: flex-start; }.template-node-form-field small, .template-node-form-field p { grid-column: 1; } }
@media (max-width: 760px) { .flow-toolbar { align-items:flex-start; flex-direction:column; }.solution-toolbar-actions { width:100%; justify-content:flex-start; } }
@media (max-width: 760px) { .catalog-upload-row, .catalog-preview-note { align-items: stretch; flex-direction: column; }.catalog-preview-note span { text-align: left; }.catalog-summary { grid-template-columns: 1fr 1fr; }.catalog-file-picker { align-items: flex-start; flex-direction: column; }.sample-dialog-heading { grid-template-columns: 38px minmax(0,1fr); padding-right: 34px; }.sample-dialog-heading .dialog-icon { width: 38px; height: 38px; }.sample-deliverables { grid-template-columns: 1fr; grid-column: auto; }.sample-deliverables > div, .sample-requirement { grid-column: auto; }.sample-deliverables > div { grid-template-columns: 1fr; }.sample-deliverables > div strong, .sample-deliverables #sampleWetFields label:last-child { grid-column: auto; }.sample-dialog .dialog-actions { margin-inline: -19px; padding-inline: 19px; } }
.personnel-workspace { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(330px,.85fr) minmax(0,1.2fr); gap: 16px; align-items: start; }
.tracking-workspace { display: grid; grid-template-columns: minmax(350px,.78fr) minmax(0,1.35fr); gap: 16px; align-items: start; }
.personnel-summary-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.personnel-summary-grid > div { padding: 15px 17px; border: 1px solid #e3ecef; border-radius: 12px; background: #fff; box-shadow: 0 5px 20px rgba(17,54,77,.04); }
.personnel-summary-grid small, .personnel-summary-grid strong { display: block; }.personnel-summary-grid small { color: var(--muted); font-size: 9px; }.personnel-summary-grid strong { margin-top: 6px; color: var(--navy); font-size: 22px; }.personnel-summary-grid .warning { border-color: #f1d5a4; background: #fff9ed; }.personnel-summary-grid .warning strong { color: #9b641e; }
.personnel-group-panel { overflow: hidden; }.personnel-group-panel .panel-head { padding-bottom: 13px; }.personnel-group-panel .panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }.personnel-group-panel .personnel-subhead { border-top: 1px solid #e6eef1; }.personnel-group-panel .personnel-subhead h3 { margin-top: 3px; }
.personnel-group-list { max-height: 330px; overflow: auto; padding: 4px 14px 16px; }.personnel-department-list { max-height: 280px; }.personnel-group-entry { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; border-bottom: 1px solid #edf2f4; }.personnel-group-entry.inactive { opacity: .68; }.personnel-group-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 10px; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }.personnel-group-row:hover { background: #f7fafb; }.personnel-group-entry.active, .personnel-group-row.active { color: var(--blue); background: var(--blue-soft); border-radius: 9px; }.personnel-group-row.empty { opacity: .62; }.personnel-group-row.warning { color: #8a611f; }.personnel-group-row span, .personnel-group-row strong, .personnel-group-row small { display: block; }.personnel-group-row strong { font-size: 10px; }.personnel-group-row small { margin-top: 3px; color: var(--muted); font-size: 8px; }.personnel-group-row b { flex: 0 0 auto; font-size: 9px; white-space: nowrap; }.personnel-group-actions { display: flex; gap: 2px; padding-right: 3px; }.personnel-group-edit, .personnel-group-members { width: 28px; height: 28px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; }.personnel-group-edit:hover, .personnel-group-members:hover { color: var(--blue); background: #fff; }.personnel-group-members { color: var(--blue); }.personnel-group-members:disabled { opacity: .45; cursor: not-allowed; }
.personnel-list-panel, .personnel-detail-panel, .tracking-list-panel, .tracking-detail-panel { overflow: hidden; }
.personnel-list-panel .panel-head h3 small { margin-left: 5px; color: var(--muted); font-size: 9px; font-weight: 500; }
.personnel-list, .tracking-list { max-height: 680px; overflow: auto; padding: 6px 20px 18px; }
.personnel-row { width: 100%; display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 14px 3px; border: 0; border-bottom: 1px solid #edf2f4; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.personnel-row.active { color: var(--blue); }
.personnel-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--blue); font-size: 12px; font-weight: 800; }
.personnel-row strong, .personnel-row small { display: block; }.personnel-row strong { font-size: 12px; }.personnel-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.personnel-row-state { padding: 5px 8px; border-radius: 14px; color: var(--green); background: #e5f4ef; font-size: 9px; white-space: nowrap; }.personnel-row-state.leave { color: #8a611f; background: #fff2d8; }.personnel-row-state.inactive { color: #728794; background: #edf2f4; }
.personnel-detail-head, .tracking-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid #edf2f4; }.personnel-detail-head h3, .tracking-detail-head h3 { margin: 5px 0 4px; font-size: 20px; }.personnel-detail-head p, .tracking-detail-head p { margin: 0; color: var(--muted); font-size: 10px; }
.personnel-detail-body, .tracking-detail-body { padding: 20px 24px 24px; }.personnel-responsibility-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.personnel-responsibility-grid div, .tracking-counts div { padding: 13px; border-radius: 10px; background: #f5f8fa; }.personnel-responsibility-grid small, .personnel-responsibility-grid strong, .tracking-counts small, .tracking-counts strong { display: block; }.personnel-responsibility-grid small, .tracking-counts small { color: var(--muted); font-size: 9px; }.personnel-responsibility-grid strong, .tracking-counts strong { margin-top: 5px; font-size: 20px; }
.personnel-role-summary { margin-top: 20px; }.personnel-role-summary h4, .tracking-section h4 { margin: 0 0 11px; font-size: 12px; }.personnel-role-summary > span { display: inline-grid; gap: 2px; margin: 0 7px 7px 0; padding: 8px 10px; border-radius: 9px; color: var(--navy); background: var(--blue-soft); font-size: 10px; font-weight: 800; }.personnel-role-summary > span small { color: var(--muted); font-size: 8px; font-weight: 500; }.personnel-role-summary p { margin: 0; color: var(--muted); font-size: 10px; }
.personnel-login-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; padding: 14px 16px; border-radius: 10px; color: #8a611f; background: #fff7e7; }.personnel-login-summary.bound { color: #237155; background: #eef8f4; }.personnel-login-summary.rebind_required { color: var(--red); background: #fff0ef; }.personnel-login-summary small, .personnel-login-summary strong, .personnel-login-summary span { display: block; }.personnel-login-summary small { font-size: 8px; }.personnel-login-summary strong { margin-top: 3px; font-size: 11px; }.personnel-login-summary span { margin-top: 3px; color: var(--muted); font-size: 9px; }.personnel-login-summary em { color: var(--muted); font-size: 8px; font-style: normal; }
.personnel-safety { margin-top: 16px; padding: 14px 16px; border-radius: 10px; }.personnel-safety.safe { color: #237155; background: #eef8f4; }.personnel-safety.warning { color: #8a611f; background: #fff7e7; }.personnel-safety strong { font-size: 11px; }.personnel-safety p { margin: 5px 0 0; color: inherit; font-size: 9px; line-height: 1.6; }.personnel-updated { margin: 16px 0 0; color: var(--muted); font-size: 9px; }
.personnel-role-field { margin: 16px 0 0; padding: 14px; border: 1px solid #dce7ec; border-radius: 10px; }.personnel-role-field legend { padding: 0 5px; font-size: 11px; font-weight: 800; }.personnel-role-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.personnel-role-options label { display: flex; align-items: center; gap: 8px; padding: 9px; border-radius: 8px; background: #f5f8fa; }.personnel-role-options input { width: auto; }.personnel-role-options span, .personnel-role-options small { display: block; }.personnel-role-options span { font-size: 10px; font-weight: 700; }.personnel-role-options small { margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 500; }
#personnelReasonField:not([hidden]) { display: block; margin-top: 14px; }
.personnel-identity-dialog { width: min(620px,calc(100vw - 30px)); }.personnel-login-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin: 14px 0; }.personnel-login-facts div { padding: 11px 12px; border-radius: 9px; background: #f5f8fa; }.personnel-login-facts small, .personnel-login-facts strong { display: block; }.personnel-login-facts small { color: var(--muted); font-size: 8px; }.personnel-login-facts strong { margin-top: 4px; font-size: 11px; }.personnel-identity-impact { margin-top: 13px; padding: 11px 13px; border: 1px solid #cfe4ed; border-radius: 9px; color: #426b7d; background: #f2f9fb; font-size: 9px; line-height: 1.6; }.personnel-identity-impact.has-sessions, .personnel-identity-impact.revoke-pending { border-color: #f1deb8; color: #8a611f; background: #fff8eb; }
.admin-toast { position: fixed; right: 24px; bottom: 24px; z-index: 100; max-width: min(380px,calc(100vw - 32px)); padding: 12px 16px; border-radius: 10px; color: #fff; background: #24765f; box-shadow: 0 12px 32px rgba(18,55,46,.24); font-size: 11px; line-height: 1.55; opacity: 0; transform: translateY(8px); transition: opacity .18s ease,transform .18s ease; }.admin-toast.visible { opacity: 1; transform: translateY(0); }
.work-group-members-dialog, .department-members-dialog { width: min(760px,calc(100vw - 30px)); max-height: calc(100vh - 28px); max-height: calc(100dvh - 28px); overflow: hidden; }.work-group-members-dialog form, .department-members-dialog form { width: 100%; min-width: 0; max-height: inherit; overflow-x: hidden; overflow-y: auto; }.work-group-members-dialog .personnel-role-field, .department-members-dialog .personnel-role-field { min-width: 0; }.work-group-member-count { margin: 10px 0 0; color: var(--blue); font-size: 10px; font-weight: 800; }.work-group-member-options { max-height: 390px; overflow: auto; }.work-group-member-options label { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 10px; border-radius: 9px; background: #f5f8fa; cursor: pointer; }.work-group-member-options label.inactive { opacity: .65; }.work-group-member-options label.changing { outline: 1px solid #d7b56c; background: #fff8e9; }.work-group-member-options input { width: auto; flex: 0 0 auto; }.work-group-member-options span, .work-group-member-options strong, .work-group-member-options small { display: block; min-width: 0; }.work-group-member-options strong { font-size: 10px; }.work-group-member-options small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.person-index-nav { position:sticky;top:0;z-index:4;display:flex;gap:4px;padding:6px 0 8px;overflow-x:auto;background:linear-gradient(#fff 78%,rgba(255,255,255,.92));scrollbar-width:thin; }.person-index-nav button { width:24px;height:24px;flex:0 0 auto;padding:0;border:1px solid #d7e4ea;border-radius:7px;color:var(--blue);background:#fff;font-size:9px;font-weight:800;cursor:pointer; }.person-index-nav button:disabled { color:#b8c5cb;background:#f4f7f8;cursor:default; }.person-index-groups { position:relative; }.person-index-group { scroll-margin-top:38px; }.person-index-group>h4 { display:flex;align-items:center;gap:7px;margin:8px 0 6px;padding:5px 8px;border-left:3px solid var(--blue);color:var(--navy);background:#edf5f8;font-size:10px; }.person-index-group>h4 small { color:var(--muted);font-size:8px;font-weight:600; }.person-index-list,.person-index-grid { display:grid;gap:8px; }.person-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.personnel-list .person-index-nav { top:-6px; }.personnel-list .person-index-group>h4,.management-access-list .person-index-group>h4 { margin-top:9px; }.management-access-list>.person-index-nav { top:0; }
.tracking-row { width: 100%; display: grid; grid-template-columns: 9px minmax(0,1fr) auto; gap: 11px; align-items: center; margin: 3px 0; padding: 13px 10px; border: 1px solid transparent; border-bottom-color: #edf2f4; border-radius: 10px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: border-color .16s ease,background .16s ease,box-shadow .16s ease; }.tracking-row:hover { background:#f5fafc; }.tracking-row.active { border-color: #78b4cf; color: #155f84; background: #eaf6fb; box-shadow: inset 4px 0 0 var(--blue), 0 4px 12px rgba(24,91,124,.12); }.tracking-row.active strong { color:#114e6d; }.tracking-row.active small,.tracking-row.active em { color:#4f7182; }.tracking-row:focus-visible { outline:2px solid var(--blue);outline-offset:2px; }.tracking-state { width: 8px; height: 42px; border-radius: 5px; background: #a9b8c0; }.tracking-state.running, .tracking-state.in_production, .tracking-state.pending_packaging, .tracking-state.pending_storage { background: var(--blue); }.tracking-state.scheduled { background: var(--amber); }.tracking-state.held { background: var(--red); }.tracking-state.completed { background: var(--green); }.tracking-state.archived, .tracking-state.cancelled { background: #8fa0aa; }.tracking-row strong, .tracking-row small, .tracking-row em, .tracking-row b { display: block; }.tracking-row strong { font-size: 11px; }.tracking-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }.tracking-row em { max-width: 270px; margin-top: 6px; overflow: hidden; color: #587383; font-size: 9px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }.tracking-row > span:last-child { text-align: right; }.tracking-row b { font-size: 10px; }.tracking-row-summary { min-width: 112px; }.tracking-stage-progress { display:block;width:112px;height:6px;margin:7px 0 0 auto;overflow:hidden;border-radius:999px;background:#dfe8ec; }.tracking-stage-progress i { display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .2s ease; }.tracking-stage-progress.scheduled i { background:var(--amber); }.tracking-stage-progress.held i { background:var(--red); }.tracking-stage-progress.completed i { background:var(--green); }
.tracking-row-summary .tracking-duration { color:#426b7d;font-size:9px;font-weight:750; }
.order-history-times { display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0; }
.order-history-times small,.tracking-row .order-history-times small { margin:0;color:#426475;font-size:12px;line-height:1.6; }
.order-history-times time { font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.tracking-order-title,.tracking-detail-title { display:flex!important;align-items:center;gap:6px;flex-wrap:wrap; }.tracking-priority { display:inline-flex!important;align-items:center;min-height:17px;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:800;line-height:1;white-space:nowrap; }.tracking-priority.urgent { color:#8a5200;background:#fff1cf;box-shadow:inset 0 0 0 1px #f4d58d; }.tracking-priority.urgent::before { content:"!";width:12px;height:12px;display:grid;place-items:center;margin-right:3px;border-radius:50%;color:#fff;background:#c67b08;font-size:8px;font-weight:900; }
.tracking-category-tabs { display:flex;gap:7px;padding:0 20px 9px;overflow:auto;border-bottom:1px solid #edf2f4; }.tracking-category-tabs button { flex:0 0 auto;padding:7px 12px;border:1px solid #dbe6eb;border-radius:16px;color:#587383;background:#fff;font-size:9px;font-weight:750;cursor:pointer; }.tracking-category-tabs button.active { border-color:var(--blue);color:#fff;background:var(--blue); }.tracking-toolbar { align-items:flex-start; }.tracking-order-instance { margin-top:10px;padding:14px;border:1px solid #dfe9ee;border-radius:12px;background:#f8fbfc; }.tracking-order-instance.active { border-color:#8bb8cf;box-shadow:0 0 0 2px rgba(36,124,165,.08); }.tracking-order-instance-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }.tracking-order-instance-head strong,.tracking-order-instance-head small { display:block; }.tracking-order-instance-head strong { font-size:11px; }.tracking-order-instance-head small { margin-top:4px;color:var(--muted);font-size:9px; }.tracking-order-instance .tracking-counts { margin-top:12px; }.tracking-instance-current { margin:11px 0;color:#526f80;font-size:9px;line-height:1.55; }.tracking-permission-note { margin:10px 0 0;padding:9px 10px;border-radius:8px;color:#7a673c;background:#fff7e4;font-size:9px; }.tracking-order-instance>.button { padding:8px 12px;font-size:9px; }.tracking-order-instances>p { margin:-4px 0 12px;color:var(--muted);font-size:9px;line-height:1.55; }
.tracking-detail-status { padding: 8px 11px; border-radius: 15px; color: var(--blue); background: var(--blue-soft); font-size: 12px; font-weight: 800; }.tracking-detail-status.held { color: var(--red); background: #fff0ef; }.tracking-detail-status.completed { color: var(--green); background: #e5f4ef; }.tracking-detail-status.archived,.tracking-detail-status.cancelled { color:#637783;background:#edf2f4; }
.tracking-detail-status.voided { color:#fff;background:var(--red); }.tracking-detail-actions { display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end; }.dialog-icon.danger { background:var(--red); }.order-void-warning { display:grid;gap:4px;margin:0 0 18px;padding:12px 14px;border:1px solid #efc7c2;border-radius:10px;color:#8f2c24;background:#fff5f3;font-size:11px;line-height:1.55; }.order-void-warning span { color:#76514e; }
.tracking-state.voided { background:var(--red); }
.tracking-counts { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.tracking-section { margin-top: 22px; }.tracking-task-list { display: grid; }.tracking-task { display: grid; grid-template-columns: 14px minmax(0,1fr) auto; gap: 9px; padding: 13px 0; border-top: 1px solid #edf2f4; }.tracking-task-dot { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: #a9b8c0; }.tracking-task.ready .tracking-task-dot, .tracking-task.assigned .tracking-task-dot { background: var(--amber); }.tracking-task.in_progress .tracking-task-dot { background: var(--blue); }.tracking-task.held .tracking-task-dot { background: var(--red); }.tracking-task.passed .tracking-task-dot, .tracking-task.submitted .tracking-task-dot { background: var(--green); }.tracking-task strong { font-size: 11px; }.tracking-task strong small { color: var(--muted); font-size: 8px; }.tracking-task p { margin: 4px 0; color: #526f80; font-size: 9px; }.tracking-task em, .tracking-task time { color: var(--muted); font-size: 8px; font-style: normal; }.tracking-task time { white-space: nowrap; }
.tracking-transition-list { display: grid; gap: 7px; }.tracking-transition-list div { display: grid; grid-template-columns: minmax(110px,1fr) minmax(100px,1fr) auto; gap: 9px; padding: 10px 12px; border-radius: 8px; background: #f5f8fa; font-size: 9px; }.tracking-transition-list b { color: var(--blue); }.tracking-transition-list small { color: var(--muted); }.tracking-empty-line { margin: 0; color: var(--muted); font-size: 9px; }.tracking-exceptions article { margin-top: 8px; padding: 12px 14px; border-left: 3px solid var(--red); border-radius: 8px; background: #fff7f6; }.tracking-exceptions strong { color: var(--red); font-size: 10px; }.tracking-exceptions p { margin: 5px 0; font-size: 10px; line-height: 1.55; }.tracking-exceptions small { color: var(--muted); font-size: 8px; }
.tracking-archive-section { padding: 16px; border: 1px solid #dbe8ee; border-radius: 12px; background: #f8fbfc; }.tracking-archive-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }.tracking-archive-head h4 { margin-bottom: 4px; }.tracking-archive-head p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.tracking-archive-head .button { flex: 0 0 auto; padding: 8px 12px; font-size: 9px; }.tracking-archive-content { margin-top: 13px; }.tracking-archive-empty { padding: 14px; border-radius: 9px; color: var(--muted); background: #fff; font-size: 9px; text-align: center; }.tracking-archive-empty.error { color: var(--red); background: #fff5f4; }.tracking-archive-list { display: grid; gap: 8px; }.tracking-archive-task { overflow: hidden; border: 1px solid #dfe9ee; border-radius: 10px; background: #fff; }.tracking-archive-task summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; cursor: pointer; list-style: none; }.tracking-archive-task summary::-webkit-details-marker { display: none; }.tracking-archive-task summary::before { content: "＋"; width: 20px; height: 20px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-weight: 800; }.tracking-archive-task[open] summary::before { content: "－"; }.tracking-archive-task summary > span { flex: 1; }.tracking-archive-task summary strong, .tracking-archive-task summary small { display: block; }.tracking-archive-task summary strong { font-size: 10px; }.tracking-archive-task summary small, .tracking-archive-task summary b { color: var(--muted); font-size: 8px; }.tracking-archive-task summary b { font-weight: 600; white-space: nowrap; }.tracking-archive-task-body { display: grid; gap: 15px; padding: 0 14px 15px 48px; border-top: 1px solid #edf2f4; }.tracking-archive-task-body section { padding-top: 13px; }.tracking-archive-task-body h5 { margin: 0 0 9px; font-size: 10px; }.tracking-archive-task-body p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }.tracking-archive-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }.tracking-archive-fields > div { min-width: 0; padding: 9px 10px; border-radius: 8px; background: #f5f8fa; }.tracking-archive-fields small, .tracking-archive-fields strong { display: block; }.tracking-archive-fields small { color: var(--muted); font-size: 8px; }.tracking-archive-fields strong { margin-top: 4px; overflow-wrap: anywhere; font-size: 10px; }.tracking-archive-fields strong small { display: inline; }.archive-not-recorded { color: var(--muted); font-weight: 500; }.tracking-archive-logs { display: grid; gap: 7px; }.tracking-archive-log { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; align-items: start; padding: 9px 10px; border-radius: 8px; background: #f5f8fa; }.tracking-archive-log > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-soft); font-size: 8px; font-weight: 800; }.tracking-archive-log a { color: var(--blue); font-size: 10px; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }.tracking-archive-log p { color: var(--ink); white-space: pre-wrap; }.tracking-archive-log small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.process-detail-counts { margin-bottom: 12px; }.tracking-process-node-list { display: grid; gap: 9px; }.tracking-process-node { overflow: hidden; border: 1px solid #dfe9ee; border-left: 4px solid #a9b8c0; border-radius: 11px; background: #fff; }.tracking-process-node.ready, .tracking-process-node.assigned { border-left-color: var(--amber); }.tracking-process-node.in_progress { border-left-color: var(--blue); }.tracking-process-node.held, .tracking-process-node.rejected { border-left-color: var(--red); }.tracking-process-node.submitted, .tracking-process-node.passed { border-left-color: var(--green); }.tracking-process-node.skipped, .tracking-process-node.void, .tracking-process-node.not_reached { opacity: .78; }.tracking-process-node > summary { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px 14px; cursor: pointer; list-style: none; }.tracking-process-node > summary::-webkit-details-marker { display: none; }.process-node-order { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: #eef4f7; font-size: 9px; font-weight: 800; }.tracking-process-node > summary strong, .tracking-process-node > summary small { display: block; }.tracking-process-node > summary strong { font-size: 10px; }.tracking-process-node > summary small, .tracking-process-node > summary b { color: var(--muted); font-size: 8px; }.tracking-process-node > summary b { font-weight: 650; }.tracking-process-node-body { display: grid; gap: 13px; padding: 14px; border-top: 1px solid #edf2f4; }.tracking-process-node-body h5 { margin: 0 0 8px; font-size: 10px; }.tracking-process-node-body p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }.process-node-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }.process-node-facts > div { padding: 9px 10px; border-radius: 8px; background: #f5f8fa; }.process-node-facts small, .process-node-facts strong { display: block; }.process-node-facts small { color: var(--muted); font-size: 8px; }.process-node-facts strong { margin-top: 4px; font-size: 9px; overflow-wrap: anywhere; }.process-node-description { padding: 9px 10px; border-radius: 8px; background: #f8fbfc; }.tracking-archive-fields.planned strong { color: #526f80; font-size: 9px; font-weight: 650; }.process-task-times { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }.process-task-times > div { padding: 8px 9px; border-radius: 8px; background: #f5f8fa; }.process-task-times small, .process-task-times strong { display: block; }.process-task-times small { color: var(--muted); font-size: 8px; }.process-task-times strong { margin-top: 3px; font-size: 9px; }
@media (max-width: 1280px) { .personnel-workspace { grid-template-columns: minmax(220px,.55fr) minmax(330px,.85fr); }.personnel-detail-panel { grid-column: 1 / 3; }.personnel-summary-grid { grid-template-columns: repeat(6,minmax(110px,1fr)); overflow-x: auto; } }
@media (max-width: 1100px) { .personnel-workspace, .tracking-workspace { grid-template-columns: 1fr; }.personnel-summary-grid, .personnel-detail-panel { grid-column: auto; }.personnel-list, .tracking-list, .personnel-group-list { max-height: 390px; } }
@media (max-width: 760px) { .personnel-summary-grid { grid-template-columns: 1fr 1fr; }.personnel-detail-head, .tracking-detail-head { flex-direction: column; }.personnel-responsibility-grid { grid-template-columns: 1fr 1fr; }.personnel-responsibility-grid div:last-child { grid-column: 1 / 3; }.personnel-login-summary { align-items: flex-start; flex-direction: column; }.personnel-login-summary .button { width: 100%; }.personnel-login-facts { grid-template-columns: 1fr; }.tracking-counts { grid-template-columns: repeat(2,1fr); }.tracking-counts div:last-child { grid-column: 1 / 3; }.personnel-role-options, .person-index-grid { grid-template-columns: 1fr; }.tracking-transition-list div { grid-template-columns: 1fr; }.tracking-task { grid-template-columns: 12px minmax(0,1fr); }.tracking-task time { grid-column: 2; }.personnel-row { grid-template-columns: 36px minmax(0,1fr); }.personnel-row-state { grid-column: 2; justify-self: start; }.tracking-row { grid-template-columns: 8px minmax(0,1fr); }.tracking-row > span:last-child { grid-column: 2; text-align: left; }.tracking-row-summary { width:100%;min-width:0; }.tracking-stage-progress { width:min(180px,100%);margin-left:0; }.tracking-archive-head { align-items: flex-start; flex-direction: column; }.tracking-archive-head .button { width: 100%; }.tracking-archive-task summary { align-items: flex-start; }.tracking-archive-task summary b { white-space: normal; text-align: right; }.tracking-archive-task-body { padding-left: 14px; }.tracking-archive-fields, .process-node-facts, .process-task-times { grid-template-columns: 1fr; }.tracking-process-node > summary { grid-template-columns: 28px minmax(0,1fr); }.tracking-process-node > summary b { grid-column: 2; } }

.management-login-dialog { width: min(500px,calc(100vw - 28px)); }
.management-login-dialog::backdrop { background: linear-gradient(145deg,#102f46 0%,#1d607c 58%,#e8f1f4 58%,#f5f8fa 100%); }
.management-login-dialog form { padding: 34px; }
.management-login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.management-login-brand .dialog-icon { width: 54px; height: 54px; font-size: 12px; }
.management-login-brand small,.management-login-brand strong { display: block; }
.management-login-brand small { color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.management-login-brand strong { margin-top: 4px; font-size: 15px; }
.management-identity-chip { display: grid; min-width: 98px; padding: 7px 10px; border: 1px solid #d7e2e8; border-radius: 10px; background: #fff; }
.management-identity-chip small,.management-identity-chip strong { display: block; }
.management-identity-chip small { color: var(--muted); font-size: 7px; }
.management-identity-chip strong { margin-top: 2px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.management-identity-chip[hidden] { display: none; }
.management-phone-login { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; }
.management-phone-login label { min-width: 0; }
.management-phone-login #managementCodeField { grid-column: 1 / -1; }
.management-login-methods { display:flex;gap:0;margin:0 0 20px;border-bottom:1px solid #dbe5ea; }
.management-login-methods button { flex:1;padding:12px 8px;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent;font:inherit;font-size:16px;cursor:pointer; }
.management-login-methods button[aria-pressed="true"] { color:var(--navy);border-bottom-color:var(--blue);font-weight:800; }
.management-phone-login #managementPasswordField,.management-phone-login #managementPasswordConfirmField { grid-column:1 / -1; }
.management-phone-login.password-mode #managementPhoneField { grid-column:1 / -1; }
.management-login-links { display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:14px; }
.management-login-links button { padding:4px 0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:14px;cursor:pointer; }
.management-login-dialog .management-login-links:empty { display:none; }
.management-login-dialog input { font-size:16px; }
.management-login-dialog #managementLoginHint { font-size:14px;line-height:1.7; }
.management-login-methods button:focus-visible,.management-login-links button:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.management-code-button { min-height: 43px; white-space: nowrap; }
.management-test-login { margin-top: 18px; padding: 13px 15px; border: 1px solid #dbe5ea; border-radius: 10px; background: #f7fafb; }
.management-test-login summary { color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }
.management-test-login p { margin: 10px 0; }
.management-test-login .button { width: 100%; margin-top: 10px; }
.management-access-workspace { display: grid; gap: 16px; }
.management-access-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; padding: 0; overflow: hidden; }
.management-access-summary > div { padding: 18px 20px; background: #fff; }
.management-access-summary small, .management-access-summary strong { display: block; }
.management-access-summary small { color: var(--muted); font-size: 9px; }
.management-access-summary strong { margin-top: 6px; font-size: 18px; }
.management-access-list { display: grid; gap: 9px; }
.management-access-row { width: 100%; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px 16px; border: 1px solid #dce6eb; border-radius: 12px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.management-access-row:hover { border-color: #9bc8da; background: #f8fcfd; }
.management-access-row:disabled { cursor: default; opacity: .78; }
.management-access-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--navy); font-weight: 800; }
.management-access-row strong, .management-access-row small { display: block; }
.management-access-row strong { font-size: 12px; }.management-access-row small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.management-access-row > b { color: var(--blue); font-size: 9px; }
.management-access-columns { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(480px,1.2fr); gap: 16px; align-items: start; }
.management-role-list { display: grid; gap: 9px; }
.management-role-row { width: 100%; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px 14px; border: 1px solid #dce6eb; border-radius: 12px; color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.management-role-row:hover { border-color: #9bc8da; background: #f8fcfd; }.management-role-row.inactive { opacity: .68; }
.management-role-row strong, .management-role-row small, .management-role-row em { display: block; }.management-role-row strong { font-size: 12px; }.management-role-row small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.5; }.management-role-row em { margin-top: 6px; color: #567085; font-size: 8px; font-style: normal; }.management-role-row > b { color: var(--blue); font-size: 9px; }
.management-role-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; font-weight: 800; background: #e7f4f8; color: #147ba3; }.management-role-mark.system { background: #eaf5ef; color: #257758; }.management-role-mark.custom { background: #fff3de; color: #9b6715; }
.management-role-dialog { width: min(780px,calc(100vw - 32px)); }.management-permission-field { margin: 16px 0; border: 1px solid #dce6eb; border-radius: 14px; padding: 14px; }.management-permission-field legend { padding: 0 8px; font-weight: 800; }
.management-permission-options { display: grid; gap: 14px; max-height: 48vh; overflow: auto; padding-right: 4px; }.management-permission-options section { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.management-permission-options h4 { grid-column: 1/-1; margin: 0; color: #557086; font-size: 10px; }.management-permission-options label { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 8px; align-items: start; padding: 10px; border: 1px solid #e1eaee; border-radius: 10px; background: #f8fbfc; }.management-permission-options input { margin-top: 2px; }.management-permission-options strong, .management-permission-options small { display: block; }.management-permission-options strong { font-size: 10px; }.management-permission-options small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.management-role-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.management-role-tag, .management-role-empty { padding: 4px 8px; border-radius: 999px; color: #1d6c89; background: #eaf6fb; font-size: 8px; font-weight: 800; }
.management-role-empty { color: #7b8b94; background: #eef2f4; }
@media (max-width: 980px) { .management-access-columns { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .management-phone-login { grid-template-columns: 1fr; }.management-code-button { width: 100%; }.management-access-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }.management-access-row { grid-template-columns: 38px minmax(0,1fr); }.management-access-row > b { grid-column: 2; }.management-permission-options section { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .topbar .management-identity-chip { display: none; } }
.archive-restricted { color: #8a611f; font-weight: 600; }.tracking-archive-log.restricted { background: #fff7e7; }.tracking-archive-log.restricted > span { color: #8a611f; background: #f7e5c2; }
.tracking-archive-image { width:100%;display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer; }.tracking-archive-image img { width:76px;height:58px;display:block;border-radius:8px;background:#e7eff3;object-fit:cover; }.tracking-archive-image strong,.tracking-archive-image small { display:block; }.tracking-archive-image strong { color:var(--blue);font-size:10px;overflow-wrap:anywhere; }.tracking-archive-image small { margin-top:4px;color:var(--muted);font-size:8px; }.management-image-preview-dialog { width:min(92vw,900px);padding:20px;border:0;border-radius:18px;color:var(--ink);background:#fff;box-shadow:0 24px 70px rgba(10,37,53,.32); }.management-image-preview-dialog::backdrop { background:rgba(8,27,40,.68); }.management-image-preview-dialog header { display:flex;align-items:flex-start;justify-content:space-between;gap:14px; }.management-image-preview-dialog header span { color:var(--blue);font-size:9px;font-weight:800; }.management-image-preview-dialog h2 { margin:3px 0 0;font-size:20px; }.management-image-preview-dialog header button { width:36px;height:36px;border:0;border-radius:50%;color:var(--muted);background:#eef3f5;font-size:22px;cursor:pointer; }.management-image-preview-stage { min-height:260px;max-height:68vh;margin-top:15px;display:grid;place-items:center;overflow:auto;border-radius:12px;color:var(--muted);background:#edf3f5; }.management-image-preview-stage img { max-width:100%;max-height:68vh;object-fit:contain; }.management-image-preview-dialog>p { margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.6; }.management-image-preview-dialog .management-image-preview-error { color:var(--red); }.management-image-preview-actions { display:flex;justify-content:flex-end;margin-top:14px; }
/* D-109 production reports */
.report-filter-panel { padding: 18px 20px; margin-bottom: 18px; }
.report-period-presets { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.report-period-presets button { border: 1px solid #d7e3e9; background: #fff; color: #486272; border-radius: 20px; padding: 7px 16px; font: inherit; cursor: pointer; }
.report-period-presets button.active { background: #21688d; color: #fff; border-color: #21688d; }
.report-filters { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 12px; }
.report-filters label { display: grid; gap: 6px; color: #617784; font-size: 12px; }
.report-filters input, .report-filters select { min-width: 0; border: 1px solid #d7e3e9; border-radius: 9px; background: #f9fbfc; color: #173b57; padding: 10px; font: inherit; }
.report-filter-note { color: #718793; font-size: 12px; margin: 13px 0 0; }
.report-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.report-metric-grid .metric-card { min-height: 112px; }
.report-dashboard-grid { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(520px, 1.15fr); gap: 18px; margin-bottom: 18px; }
.report-chart-panel, .report-object-panel, .report-order-panel { padding: 20px; }
.report-object-panel, .report-order-panel { margin-bottom: 18px; }
.report-trend { display: grid; gap: 9px; max-height: 380px; overflow: auto; padding-right: 5px; }
.report-trend-row { display: grid; grid-template-columns: 54px minmax(80px, 1fr) 48px minmax(125px, auto); gap: 8px; align-items: center; font-size: 12px; color: #617784; }
.report-trend-row i { display: block; height: 9px; background: #e7eef2; border-radius: 6px; overflow: hidden; }
.report-trend-row b { display: block; height: 100%; background: #3383ac; border-radius: inherit; }
.report-trend-row strong { color: #173b57; }
.report-table-wrap { overflow: auto; }
.report-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.report-table th, .report-table td { text-align: left; padding: 11px 10px; border-bottom: 1px solid #e6edf1; color: #526b79; font-size: 13px; }
.report-table th { color: #78909d; font-size: 11px; font-weight: 600; }
.report-table td strong { color: #173b57; }
.report-table td small { display: block; color: #8aa0aa; margin-top: 2px; }
.report-order-list { display: grid; }
.report-order-columns,.report-order-row { display:grid;grid-template-columns:minmax(142px,1.05fr) minmax(142px,.95fr) minmax(180px,1.35fr) 82px 104px 86px 106px;gap:14px;align-items:center; }
.report-order-columns { min-height:34px;padding:7px 8px;border-block:1px solid #e6edf1;color:#78909d;background:#f8fafb;font-size:11px;font-weight:650; }
.report-order-columns span:last-child { text-align:right; }
.report-order-row { min-height:58px;padding:11px 8px;border-bottom:1px solid #e6edf1;color:#607986; }
.report-order-row:hover { background:#f8fbfc; }
.report-order-row strong,.report-order-row span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.report-order-identity { display:flex;align-items:center;gap:7px; }.report-order-identity strong { color:#173b57;font-size:13px; }
.report-order-urgent { flex:0 0 auto;padding:3px 7px;border-radius:10px;color:#a86b00;background:#fff1d1;font-size:10px;font-weight:750; }
.report-order-meta,.report-order-product,.report-order-duration,.report-order-progress,.report-order-quantity { font-size:12px; }
.report-order-meta { color:#6f8794; }.report-order-product { color:#3f6172; }.report-order-duration { color:#456b7d;font-weight:650; }.report-order-progress { color:#597380; }.report-order-quantity { color:#597380;text-align:right; }
.report-order-status { justify-self:start;padding:5px 9px;border-radius:999px;color:#5c7481;background:#edf2f4;font-size:11px;font-weight:750;line-height:1; }.report-order-status.in_production,.report-order-status.pending_packaging,.report-order-status.pending_storage,.report-order-status.scheduled { color:var(--blue);background:var(--blue-soft); }.report-order-status.completed { color:var(--green);background:#e5f4ef; }.report-order-status.held,.report-order-status.voided { color:var(--red);background:#fff0ef; }
.report-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; padding-top: 16px; }
.report-pagination span { color: #617784; font-size: 13px; }
@media (max-width: 1100px) { .report-filters { grid-template-columns: repeat(3, minmax(140px, 1fr)); } .report-metric-grid { grid-template-columns: repeat(2, 1fr); } .report-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 1050px) { .report-order-columns { display:none; }.report-order-row { grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity status" "product product" "meta duration" "progress quantity";gap:5px 12px;padding-block:12px; }.report-order-identity { grid-area:identity; }.report-order-meta { grid-area:meta; }.report-order-product { grid-area:product; }.report-order-status { grid-area:status;justify-self:end; }.report-order-duration { grid-area:duration;text-align:right; }.report-order-progress { grid-area:progress; }.report-order-quantity { grid-area:quantity; } }
@media (max-width: 700px) { .report-filters, .report-metric-grid { grid-template-columns: 1fr 1fr; } .report-trend-row { grid-template-columns: 44px 1fr 42px; } .report-trend-row small { grid-column: 2 / 4; } }

/* D-122 management digital employee */
.assistant-entry { display:flex;align-items:center;gap:7px;border:1px solid #cce3eb;color:#155d7b;background:#f1f9fc; }.assistant-entry span { width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#267da3;font-size:10px;font-weight:800; }.assistant-entry[hidden] { display:none; }
.management-assistant-dialog { width:min(540px,calc(100vw - 28px));max-height:calc(100vh - 40px);margin:auto 24px auto auto;padding:0;overflow:hidden;border:0;border-radius:20px;color:var(--ink);background:#fff;box-shadow:0 28px 80px rgba(11,42,59,.34); }.management-assistant-dialog::backdrop { background:rgba(13,36,50,.48); }.management-assistant-shell { display:grid;grid-template-rows:auto auto auto minmax(180px,1fr) auto;max-height:calc(100vh - 40px); }.management-assistant-shell>header { display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px;border-bottom:1px solid #e5edf1; }.management-assistant-shell>header>button { width:34px;height:34px;border:0;border-radius:50%;color:#667d89;background:#eef3f5;font-size:22px;cursor:pointer; }.management-assistant-identity { display:flex;align-items:center;gap:11px; }.management-assistant-identity>span { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#173b57,#2788ac);font-weight:800; }.management-assistant-identity small,.management-assistant-identity h2 { display:block;margin:0; }.management-assistant-identity small { color:#748894;font-size:9px; }.management-assistant-identity h2 { margin-top:2px;font-size:18px; }
.management-assistant-boundary { display:grid;gap:3px;margin:14px 18px 0;padding:11px 13px;border-radius:11px;color:#386173;background:#eef7fa; }.management-assistant-boundary strong { font-size:11px; }.management-assistant-boundary span { font-size:9px;line-height:1.55; }.management-assistant-quick { display:flex;gap:7px;overflow:auto;padding:12px 18px 4px; }.management-assistant-quick button { flex:0 0 auto;padding:7px 11px;border:1px solid #d7e5ea;border-radius:999px;color:#386173;background:#fff;font:inherit;font-size:9px;cursor:pointer; }.management-assistant-quick button:hover { border-color:#72adc3;background:#f5fbfd; }.management-assistant-quick.disabled { opacity:.48;pointer-events:none; }
.management-assistant-messages { display:grid;align-content:start;gap:11px;overflow:auto;padding:16px 18px 20px; }.assistant-message { max-width:88%;padding:11px 13px;border-radius:13px;background:#f1f5f7; }.assistant-message.user { justify-self:end;color:#fff;background:#1d6283; }.assistant-message strong,.assistant-message p,.assistant-message small { display:block;margin:0; }.assistant-message strong { margin-bottom:4px;font-size:9px; }.assistant-message p { white-space:pre-wrap;font-size:11px;line-height:1.65; }.assistant-message small { margin-top:7px;color:#718691;font-size:8px; }.assistant-message.user small { color:#dbeaf0; }.assistant-message.loading { animation:assistant-pulse 1.2s ease-in-out infinite alternate; }@keyframes assistant-pulse { to { opacity:.58; } }
.management-assistant-shell>form { padding:15px 18px 18px;border-top:1px solid #e5edf1;background:#fbfcfd; }.management-assistant-shell>form>label { display:block;margin-bottom:7px;font-size:10px;font-weight:800; }.management-assistant-shell textarea { width:100%;min-height:76px;resize:vertical;border:1px solid #cfdee5;border-radius:11px;padding:11px 12px;color:var(--ink);background:#fff;font:inherit;line-height:1.5; }.management-assistant-shell textarea:focus { outline:2px solid #bce0ed;border-color:#4a97b4; }.management-assistant-actions { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px; }.management-assistant-actions small { color:#728793;font-size:8px;line-height:1.5; }.management-assistant-actions .button { min-width:78px; }.management-assistant-shell .dialog-error { margin-top:10px; }
@media (max-width:700px) { .management-assistant-dialog { width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:auto; }.management-assistant-shell { max-height:calc(100vh - 16px); }.assistant-entry { padding:7px 9px; }.assistant-entry span { display:none; } }

/* D-132 operational text readability */
.production-order-row small,.production-item-card small,.order-history-instance small,.order-history-processes>p,.production-boundary p { font-size:11px;line-height:1.5; }
.production-order-row strong,.production-item-card strong { font-size:13px; }
.production-detail-head p,.sample-detail-summary p,.order-history-note { font-size:12px;line-height:1.6; }
.production-detail-metrics small,.order-note-block small,.sample-detail-summary small,.dispatch-solution span,.dispatch-solution small { font-size:11px;line-height:1.45; }
.production-detail-metrics strong,.order-note-block strong,.sample-detail-summary strong,.dispatch-solution strong { font-size:13px; }
.production-filters select,.production-filters input,.order-view-tabs button { font-size:12px; }

.tracking-row strong { font-size:13px; }.tracking-row small,.tracking-row em,.tracking-row-summary .tracking-duration { font-size:11px;line-height:1.45; }.tracking-row b { font-size:12px; }
.tracking-category-tabs button,.tracking-order-instance-head strong,.tracking-instance-current,.tracking-permission-note,.tracking-order-instances>p { font-size:11px;line-height:1.5; }
.tracking-counts small { color:#526b79;font-size:12px;line-height:1.5; }
.tracking-order-instance-head small,.tracking-task p,.tracking-transition-list div,.tracking-empty-line,.tracking-archive-head p,.tracking-archive-empty { font-size:11px;line-height:1.55; }
.tracking-task strong,.tracking-section h4,.tracking-archive-task summary strong,.tracking-archive-task-body h5,.tracking-process-node>summary strong,.tracking-process-node-body h5 { font-size:12px; }
.tracking-task strong small,.tracking-task em,.tracking-task time,.tracking-exceptions small,.tracking-archive-task summary small,.tracking-archive-task summary b,.tracking-archive-fields small,.tracking-archive-log small,.tracking-process-node>summary small,.tracking-process-node>summary b,.process-node-facts small,.process-task-times small { font-size:10px;line-height:1.45; }
.tracking-archive-task-body p,.tracking-process-node-body p,.process-node-facts strong,.tracking-archive-fields.planned strong,.process-task-times strong { font-size:11px;line-height:1.55; }

.personnel-summary-grid small,.personnel-group-panel .panel-head p,.personnel-list-panel .panel-head h3 small,.personnel-row small,.personnel-detail-head p,.personnel-responsibility-grid small,.personnel-role-summary p,.personnel-login-summary span,.personnel-safety p,.personnel-updated,.personnel-login-facts small,.personnel-identity-impact { font-size:11px;line-height:1.5; }
.personnel-group-row strong,.personnel-row strong,.personnel-role-summary>span,.personnel-login-summary strong,.personnel-safety strong,.personnel-role-options span,.personnel-login-facts strong { font-size:12px; }
.personnel-group-row small,.personnel-group-row b,.personnel-row-state,.personnel-login-summary small,.personnel-login-summary em,.personnel-role-options small,.work-group-member-options small,.person-index-group>h4 small { font-size:10px; }
.work-group-member-options strong,.person-index-group>h4,.work-group-member-count { font-size:11px; }

.assignment-boundary p,.assignment-order-card p,.assignment-panel-head p,.assignment-node-name small,.assignment-person-select>span,.assignment-person-card small,.assignment-check-panel p,.assignment-rule-card p,.assignment-reason-panel p,.assignment-instance-select span { font-size:11px;line-height:1.5; }
.assignment-node-name strong,.assignment-person-card strong,.assignment-check-panel h3,.assignment-rule-card li,.assignment-reason-panel textarea,.assignment-instance-select select { font-size:12px; }
.template-group-editor-head p,.template-group-summary,.template-group-actions label>span,.template-node-detail-head span,.template-node-form-field small,.template-node-form-field p,.template-node-detail-note { font-size:11px!important;line-height:1.5; }
.template-node-form-field strong,.template-node-current-groups,.template-node-group-options span { font-size:12px!important; }

/* D-139 management access and role text readability */
.management-access-row strong,.management-role-row strong { font-size:14px;line-height:1.5; }
.management-access-row small,.management-role-row small,.management-role-row em,.management-access-summary small { color:#526b79;font-size:12px;line-height:1.5; }
.management-access-row > b,.management-role-row > b { font-size:13px;line-height:1.5;white-space:nowrap; }
.management-role-tag,.management-role-empty { font-size:12px;line-height:1.5; }
.management-role-empty { color:#526b79; }
.management-access-row > span:nth-child(2),.management-role-row > span:nth-child(2) { min-width:0;overflow-wrap:anywhere; }
.management-permission-options h4,.management-permission-options strong { font-size:13px;line-height:1.5; }
.management-permission-options small { color:#526b79;font-size:12px;line-height:1.5; }
.management-access-list .person-index-group>h4,.management-access-list .person-index-group>h4 small,.management-access-list .person-index-nav button { font-size:12px; }
#managementAccessDialogSummary,#managementRoleDialogSummary { color:#526b79;font-size:12px;line-height:1.5; }

/* D-142 dependent category/product selection. */
.production-product-picker { display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0; }
.production-product-picker input,.production-product-picker select { font-size:13px; }
.production-product-picker>small { grid-column:1 / -1;display:block;margin-top:0;color:#526b79;font-size:12px;line-height:1.5; }
@media(max-width:760px) { .production-product-picker { grid-template-columns:minmax(0,1fr); } }

/* D-143 tracking readability: business text must remain readable at normal zoom. */
.tracking-workspace .tracking-row strong { font-size:15px;line-height:1.5;overflow-wrap:anywhere; }
.tracking-workspace .tracking-customer-summary,.tracking-workspace .tracking-row .tracking-customer-summary { display:block;margin:5px 0;color:#355d72;font-size:14px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;text-align:left; }
.tracking-workspace .tracking-row small,.tracking-workspace .tracking-row em,.tracking-workspace .tracking-row-summary .tracking-duration { font-size:13px;line-height:1.55; }
.tracking-workspace .tracking-row b,.tracking-workspace .tracking-category-tabs button { font-size:14px;line-height:1.5; }
.tracking-workspace .tracking-detail-head p,.tracking-workspace .tracking-counts small,.tracking-workspace .order-note-block small,
.tracking-workspace .tracking-order-instance-head small,.tracking-workspace .tracking-instance-current,.tracking-workspace .tracking-order-instances>p,
.tracking-workspace .tracking-permission-note { font-size:13px;line-height:1.6;color:#526b79; }
.tracking-workspace .tracking-section h4,.tracking-workspace .tracking-order-instances>h4,.tracking-workspace .tracking-order-instance-head strong { font-size:14px;line-height:1.55;overflow-wrap:anywhere; }
.tracking-workspace .order-note-block strong { font-size:14px;line-height:1.6; }
.tracking-workspace .button,.tracking-workspace .order-view-tabs button,.tracking-workspace .production-filters input,.tracking-workspace .production-filters select { font-size:13px;min-height:36px; }
.tracking-workspace .tracking-row em { max-width:none;white-space:normal;overflow-wrap:anywhere; }
.tracking-workspace .tracking-row>span { min-width:0; }
@media(max-width:600px) { .tracking-workspace .tracking-row { grid-template-columns:8px minmax(0,1fr); }.tracking-workspace .tracking-row>span:last-child { grid-column:2;text-align:left; }.tracking-workspace .tracking-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.catalog-product-head { display:block;padding-bottom:16px; }.catalog-product-head>div:first-child { display:flex;align-items:baseline;justify-content:space-between;gap:20px; }.catalog-product-head h3 { margin:0; }.catalog-product-head h3 small { margin-left:8px;font-size:13px;font-weight:500;color:#526b79; }.catalog-product-head p { margin:0;font-size:13px;color:#526b79; }.catalog-product-filters { display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(210px,1.5fr) auto;gap:10px;margin-top:15px; }.catalog-product-filters select,.catalog-product-filters input { min-width:0;height:40px;font-size:14px; }.catalog-product-filters .button { min-height:40px;padding-inline:20px; }.catalog-product-list { padding:0 20px; }.catalog-product-table-wrap { width:100%;overflow-x:auto; }.catalog-product-table { width:100%;border-collapse:collapse;table-layout:fixed; }.catalog-product-table th { padding:12px 10px;background:#f5f8fa;border-bottom:1px solid #dce7ec;text-align:left;font-size:13px;font-weight:600;color:#526b79;white-space:nowrap; }.catalog-product-table th:nth-child(1) { width:17%; }.catalog-product-table th:nth-child(2) { width:17%; }.catalog-product-table th:nth-child(3) { width:22%; }.catalog-product-table th:nth-child(4) { width:25%; }.catalog-product-table th:nth-child(5) { width:10%; }.catalog-product-table th:nth-child(6) { width:9%;text-align:right; }.catalog-product-table td { padding:15px 10px;border-bottom:1px solid #e1eaee;font-size:14px;line-height:1.45;vertical-align:middle;overflow-wrap:anywhere; }.catalog-product-table tbody tr:hover { background:#f4f9fb; }.catalog-product-table td strong { font-size:14px;font-weight:650; }.catalog-product-table td small { display:block;margin-top:3px;font-size:12px;color:#6a7f8b; }.catalog-product-table td:last-child { text-align:right; }.catalog-product-status { display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:650;white-space:nowrap; }.catalog-product-status.active { background:#e8f5ef;color:#177156; }.catalog-product-status.inactive { background:#edf1f3;color:#667982; }.catalog-product-action { padding:8px 0;border:0;background:transparent;color:#17688c;font-size:14px;font-weight:650;cursor:pointer;white-space:nowrap; }.catalog-product-action:hover,.catalog-product-action:focus-visible { color:#0e4b69;text-decoration:underline; }.catalog-product-empty { padding:42px 16px;text-align:center;font-size:14px;color:#667982; }.catalog-product-pagination { display:flex;justify-content:center;align-items:center;gap:15px;padding:18px;font-size:13px; }#catalogProductForm label { margin-top:12px; }#catalogProductForm small { display:block;font-size:12px;line-height:1.5;color:#526b79; }#catalogProductForm input,#catalogProductForm select,#catalogProductForm textarea { font-size:14px; }
@media(max-width:1180px) { .catalog-product-filters { grid-template-columns:repeat(3,minmax(150px,1fr)); }.catalog-product-filters input { grid-column:span 2; } }
@media(max-width:760px) { .catalog-product-head>div:first-child { display:block; }.catalog-product-head p { margin-top:6px; }.catalog-product-filters { grid-template-columns:1fr 1fr; }.catalog-product-filters input { grid-column:1/-1; }.catalog-product-filters .button { grid-column:1/-1; }.catalog-product-list { padding:0 14px; }.catalog-product-table-wrap { overflow:visible; }.catalog-product-table,.catalog-product-table tbody { display:block; }.catalog-product-table thead { display:none; }.catalog-product-table tr { display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:12px 0;padding:15px;border:1px solid #dce7ec;border-radius:12px;background:#fff; }.catalog-product-table td { display:block;padding:0;border:0; }.catalog-product-table td::before { content:attr(data-label);display:block;margin-bottom:3px;font-size:12px;color:#6a7f8b; }.catalog-product-table td:nth-child(4) { grid-column:1/-1; }.catalog-product-table td:last-child { text-align:left; }.catalog-product-action { padding:3px 0; } }
.flow-node-handling { display:inline-flex; margin-top:6px; padding:3px 7px; border-radius:7px; font-size:10px; font-weight:800; line-height:1.35; }
.flow-node-handling.claimed { color:#526d7c; background:#edf2f4; }
.flow-node-handling.shared { color:#5e4a91; background:#eee9f8; }
body.development-environment { padding-top: 42px; }
.environment-banner { position: fixed; inset: 0 0 auto; z-index: 10000; min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 8px 16px; background: #a33b2f; color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .04em; box-shadow: 0 2px 10px rgba(68, 23, 17, .24); }
.environment-banner[hidden] { display: none; }

/* D-169 business text readability floor. */
.shell small,
.management-dialog small,
.management-assistant-dialog small,
.management-image-preview-dialog small { font-size:12px!important;line-height:1.55; }
.sample-dialog small,
.sample-v2-dialog small { color:#526b79;font-size:13px!important;line-height:1.6; }
.management-dialog p,
.management-dialog label>span,
.management-dialog fieldset>legend { font-size:13px;line-height:1.6; }
.management-field-error,
.dialog-error,
.exception-action-error { font-size:12px;line-height:1.55; }
.eyebrow,.overline,.app-version,.tag,.badge,.legend,
.solution-state,.version-item-summary,.version-empty,
.flow-node-group,.flow-node-handling,.flow-footer,
.assignment-capability,.assignment-node-index,.assignment-node-status,
.assignment-person-select>span,.exception-scope,
.management-role-tag,.management-role-empty { font-size:12px;line-height:1.5; }
.flow-node small,.lifecycle-step small,.dispatch-rules small,
.assignment-revision small,.assignment-revision span,
.assignment-metric small,.assignment-metric span,
.assignment-node-name small,.assignment-person-card small,
.exception-management-head small,.exception-order,.exception-reason small,
.tracking-task em,.tracking-task time,
.tracking-archive-task summary b,.tracking-process-node>summary b,
.process-node-facts small,.process-task-times small { font-size:12px!important;line-height:1.5; }
.management-assistant-boundary span,
.management-assistant-quick button,
.assistant-message strong,.assistant-message p,
.management-assistant-shell>form>label,
.management-assistant-actions small { font-size:12px;line-height:1.6; }
.flow-edge-label { font-size:11px; }

/* D-169 remaining compact controls and status copy are still business-readable. */
.overview-order-columns,
.overview-order-type,
.overview-order-time,
.overview-order-duration,
.overview-order-row>b,
.solution-toolbar-actions .button,
.template-item .solution-state-mini,
.person-index-nav button,
.person-index-group>h4,
.tracking-priority,
.tracking-priority.urgent::before,
.tracking-category-tabs button,
.tracking-order-instance-head strong,
.tracking-instance-current,
.tracking-permission-note,
.tracking-order-instance>.button,
.tracking-order-instances>p,
.order-void-warning,
.tracking-archive-image strong,
.management-image-preview-dialog header span,
.management-image-preview-dialog>p,
.report-order-columns,
.report-order-urgent,
.report-order-status,
.assistant-entry span,
.management-assistant-boundary strong,
.management-assistant-shell>form>label { font-size:12px!important; }
.template-node-form-field b.participant-editable { color:#26714f;background:#e8f6ee; }
/* Independent read-only production ledger; no tracking-page selectors. */
.production-dashboard { --dashboard-ink:#173b57; --dashboard-rule:#d7e3ea; --dashboard-surface:#f4f8fa; }
.production-dashboard .dashboard-stage-progress { margin-bottom:12px; min-width:150px; }
.production-dashboard .dashboard-stage-progress > span { display:block; font-size:13px; color:#4b6474; margin-bottom:5px; }
.production-dashboard .dashboard-stage-track { width:50%; height:6px; overflow:hidden; border-radius:3px; background:#dae5eb; }
.production-dashboard .dashboard-stage-track > span { display:block; height:100%; background:#2388a4; border-radius:3px; }
.production-dashboard .dashboard-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.production-dashboard .dashboard-heading-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.production-dashboard:fullscreen, .production-dashboard.dashboard-fullscreen-fallback { box-sizing:border-box; width:100%; height:100%; max-width:none; overflow:auto; padding:24px 32px; background:#f4f7f8; }
.production-dashboard.dashboard-fullscreen-fallback { position:fixed; inset:0; z-index:100; }
.production-dashboard:fullscreen .dashboard-table-wrap, .production-dashboard.dashboard-fullscreen-fallback .dashboard-table-wrap { max-height:calc(100vh - 310px); min-height:180px; }
@media(max-width:700px) { .production-dashboard:fullscreen, .production-dashboard.dashboard-fullscreen-fallback { padding:16px; } }
.production-dashboard .dashboard-heading h2 { font-size:27px; line-height:1.25; color:var(--dashboard-ink); margin:0 0 8px; }
.production-dashboard .dashboard-heading p,.production-dashboard .dashboard-footer p { font-size:14px; line-height:1.6; color:#526b7c; margin:0; }
.production-dashboard .dashboard-category-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:2px solid var(--dashboard-rule); padding-bottom:16px; }
.production-dashboard .dashboard-category-tabs button { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 15px; background:#fff; color:#36586b; border:1px solid var(--dashboard-rule); border-radius:8px; font-size:15px; font-weight:650; cursor:pointer; }
.production-dashboard .dashboard-category-tabs button.active { border-color:#19799f; box-shadow:inset 0 -3px #19799f; color:#125b7c; background:#f0f8fc; }
.production-dashboard .dashboard-symbol { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; font-size:14px; }
.production-dashboard .dashboard-symbol.common { color:#155b8d; background:#e6f2fc; }
.production-dashboard .dashboard-symbol.tint { color:#8a4200; background:#fff0d5; }
.production-dashboard .dashboard-symbol.multicolor { color:#703a99; background:#f1e5fc; }
.production-dashboard .dashboard-symbol.sample { color:#17634f; background:#dff3eb; }
.production-dashboard .dashboard-symbol.stone { color:#62652a; background:#eef0d8; }
.production-dashboard .dashboard-toolbar { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:14px; margin:18px 0 10px; }
.production-dashboard .dashboard-sort { display:flex; align-items:center; gap:8px; color:#36586b; font-size:14px; }
.production-dashboard .dashboard-sort select { min-height:42px; padding:8px 12px; border:1px solid #cbdce7; border-radius:7px; background:#fff; color:#173b57; font:inherit; }
.production-dashboard .dashboard-period-tabs { display:flex; gap:6px; background:#eaf0f4; padding:4px; border-radius:8px; }
.production-dashboard .dashboard-period-tabs button { border:0; border-radius:6px; background:transparent; color:#4b6678; padding:9px 16px; font-size:15px; font-weight:650; cursor:pointer; min-height:40px; }
.production-dashboard .dashboard-period-tabs button.active { background:#fff; color:#173b57; box-shadow:0 1px 3px #173b5714; }
.production-dashboard .dashboard-search { display:flex; gap:8px; align-items:center; margin:0; }
.production-dashboard .dashboard-search input { min-height:42px; width:260px; border:1px solid #cbdce7; background:#fff; border-radius:7px; padding:9px 12px; font-size:14px; }
.production-dashboard .dashboard-message { color:#526b7c; font-size:14px; min-height:24px; margin:10px 0; }
.production-dashboard .dashboard-empty { position:sticky; left:0; box-sizing:border-box; width:100%; padding:56px 16px; text-align:center; color:#526b7c; font-size:15px; }
.production-dashboard .dashboard-table-wrap { max-height:67vh; overflow:auto; border:1px solid var(--dashboard-rule); border-radius:10px; background:#fff; }
.production-dashboard .dashboard-table { width:100%; min-width:1220px; border-collapse:separate; border-spacing:0; color:var(--dashboard-ink); text-align:left; font-size:15px; }
.production-dashboard .dashboard-table th { position:sticky; top:0; z-index:1; background:#edf4f8; padding:14px 12px; font-size:14px; font-weight:700; white-space:nowrap; border-bottom:2px solid #cadce7; }
.production-dashboard .dashboard-table td { padding:15px 12px; border-bottom:1px solid #e5edf2; vertical-align:top; line-height:1.6; }
.production-dashboard .dashboard-table tr:last-child td { border-bottom:0; }
.production-dashboard .dashboard-table tbody tr:nth-child(even) { background:#f8fbfc; }
.production-dashboard .dashboard-sequence { color:#637f90; width:55px; font-variant-numeric:tabular-nums; }
.production-dashboard .dashboard-client { display:block; font-size:15px; min-width:130px; overflow-wrap:anywhere; }
.production-dashboard .dashboard-order-no { display:block; color:#526b7c; font-size:13px; margin-top:5px; }
.production-dashboard .dashboard-urgent { color:#a45c00; margin-right:3px; }
.production-dashboard .dashboard-product { min-width:190px; max-width:290px; overflow-wrap:anywhere; }
.production-dashboard .dashboard-tank { min-width:70px; font-weight:650; overflow-wrap:anywhere; }
.production-dashboard .dashboard-quantity { min-width:85px; white-space:nowrap; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.production-dashboard .dashboard-quantity small { font-size:13px; font-weight:400; color:#526b7c; }
.production-dashboard .dashboard-stage { min-width:165px; max-width:290px; margin-bottom:9px; }
.production-dashboard .dashboard-stage small { display:block; color:#526b7c; font-size:13px; }
.production-dashboard .dashboard-owner { min-width:100px; margin-bottom:9px; }
.production-dashboard .dashboard-owner small { display:block; color:#526b7c; font-size:13px; max-width:180px; }
.production-dashboard .dashboard-date { white-space:nowrap; font-variant-numeric:tabular-nums; font-size:14px; }
.production-dashboard .dashboard-muted { color:#637f90; font-size:14px; }
.production-dashboard .dashboard-order-state { display:inline-block; color:#526b7c; background:#edf3f6; padding:3px 9px; border-radius:5px; font-size:14px; }
.production-dashboard .dashboard-order-state.is-completed { color:#17634f; background:#e0f4e9; }
.production-dashboard .dashboard-footer { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:16px; align-items:center; margin-top:16px; }
.production-dashboard .dashboard-footer p { font-size:13px; }
.production-dashboard .dashboard-pager { display:flex; align-items:center; gap:12px; font-size:14px; color:#526b7c; }
.production-dashboard :is(button,input,.dashboard-table-wrap):focus-visible { outline:3px solid #1d82aa; outline-offset:3px; }
@media(max-width:700px) { .production-dashboard .dashboard-heading { align-items:flex-start; } .production-dashboard .dashboard-heading h2 { font-size:24px; } .production-dashboard .dashboard-category-tabs button { padding:8px 10px; } .production-dashboard .dashboard-search { width:100%; } .production-dashboard .dashboard-search input { width:100%; min-width:0; } .production-dashboard .dashboard-footer { align-items:flex-start; } }

/* ERP intake stays in its own management dialog. */
.erp-intake-dialog{width:min(1000px,94vw);max-height:90vh;border:0;border-radius:18px;padding:24px;color:var(--ink,#183b53);overflow:auto}.erp-intake-dialog::backdrop{background:#102f4670}.erp-intake-head,.erp-intake-head>div,.erp-intake-card-head,.erp-intake-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.erp-intake-dialog p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.erp-intake-settings{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:16px 0}.erp-intake-settings label,.erp-intake-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px}.erp-intake-settings .erp-intake-check{flex-direction:row;align-items:center;padding-bottom:10px}.erp-intake-dialog input:not([type=checkbox]),.erp-intake-dialog select,.erp-intake-dialog textarea{width:100%;padding:10px;border:1px solid #cbdde7;border-radius:8px;background:white;font-size:16px}.erp-intake-card{border:1px solid #d9e5eb;border-radius:12px;padding:18px;margin:14px 0}.erp-intake-card summary{cursor:pointer;font-size:16px;font-weight:600;padding:10px 0}.erp-intake-note{white-space:pre-wrap;color:#526b7c}.erp-intake-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.erp-intake-wide{grid-column:1/-1}.erp-intake-footer{margin-top:18px}.erp-intake-dialog [data-message]{font-size:14px;line-height:1.6;min-height:24px;overflow-wrap:anywhere}@media(max-width:600px){.erp-intake-dialog{padding:16px}.erp-intake-fields{grid-template-columns:1fr}.erp-intake-wide{grid-column:auto}.erp-intake-head h2{font-size:21px}.erp-intake-head .button{padding:8px 12px}}

.erp-auto-settings{width:min(580px,94vw)}.erp-auto-settings .erp-intake-settings{display:flex;flex-direction:column;align-items:stretch;gap:18px}.erp-auto-settings .erp-intake-check{padding-bottom:0}.erp-auto-settings small{font-size:14px;color:#526b7c;line-height:1.6}.erp-auto-settings [data-status]{font-size:14px;color:#526b7c}.erp-auto-settings button[type=submit]{align-self:flex-end}.production-erp-source{padding:16px;background:#edf5f9;border-radius:10px;margin:12px 0;overflow-wrap:anywhere}.production-erp-source p{font-size:14px;line-height:1.6;margin:7px 0;white-space:pre-wrap}.production-erp-source>.production-erp-source{padding:0;margin:0}.erp-source-changed{color:#926200}

.erp-source-mark{display:inline-flex;align-items:center;flex-shrink:0;vertical-align:middle;margin-left:4px;padding:1px 5px;border:1px solid #5b21b6;border-radius:4px;background:#6d28d9;color:#fff;font:700 12px/1.2 sans-serif;white-space:nowrap}.erp-source-mark[hidden]{display:none}

.form-quantity-summary { padding:14px 16px; border:1px solid #bad9e4; border-radius:10px; background:#edf7fa; color:#175772; font-size:17px; font-weight:700; line-height:1.6; }

.overview-order-type.slurry,.production-kind-mark.slurry,.production-dashboard .dashboard-symbol.slurry { color:#8d3266; background:#fce5f2; }
