#page-logisticsstatus,
.ls-modal-backdrop,
.ls-cell-popover {
  --ls-ci-deep:var(--navy);
  --ls-ci-blue:var(--primary);
  --ls-ci-cyan:var(--accent);
  --ls-bg-void:var(--bg);
  --ls-bg-surface:var(--surface);
  --ls-bg-raised:var(--surface2);
  --ls-bg-muted:var(--bg2);
  --ls-fg1:var(--text);
  --ls-fg2:var(--text2);
  --ls-fg3:var(--text3);
  --ls-fg-muted:var(--gray);
  --ls-border:var(--border);
  --ls-border-strong:var(--border-light);
  --ls-info-bg:var(--blue-bg);
  --ls-info-border:var(--blue-bd);
  --ls-ok:var(--green);
  --ls-warn:var(--amber);
  --ls-danger:var(--red);
  --ls-font-ui:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',system-ui,sans-serif;
  --ls-font-mono:'Space Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  background:var(--ls-bg-void);
  color:var(--ls-fg1);
  font-family:var(--ls-font-ui);
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#page-logisticsstatus .page-fixed-header {
  background:var(--ls-bg-surface);
  border-bottom:1px solid var(--ls-border);
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
#page-logisticsstatus .page-title {
  color:var(--ls-fg1);
  letter-spacing:-.01em;
}
#page-logisticsstatus .page-meta { color:var(--ls-fg3); }
.ls-header-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.ls-page {
  padding:22px 24px 40px;
  min-height:100%;
  background:var(--ls-bg-surface);
  font-family:var(--ls-font-ui);
}
.ls-page-alert {
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid var(--amber-bd);
  border-radius:8px;
  background:var(--amber-bg);
  color:var(--ls-warn);
  font-size:13px;
  font-weight:800;
}
.ls-summary { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.ls-chip {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px 6px 10px;
  border:1px solid var(--ls-info-border);
  border-radius:999px;
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
  font-family:var(--ls-font-ui);
  font-size:12px;
  letter-spacing:0;
  font-weight:700;
  line-height:1;
}
.ls-chip b { color:var(--ls-ci-deep); font-variant-numeric:tabular-nums; }
.ls-filterbar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.ls-filter-tab {
  height:30px;
  padding:0 12px;
  border:1px solid var(--ls-border);
  border-radius:999px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.ls-filter-tab.active {
  border-color:var(--ls-ci-blue);
  background:var(--ls-ci-blue);
  color:var(--ls-bg-surface);
}
.ls-filter-select {
  height:30px;
  min-width:108px;
  border:1px solid var(--ls-border);
  border-radius:7px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-size:12px;
  font-weight:800;
  padding:0 8px;
}
.ls-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ls-actions .btn-ghost {
  background:var(--ls-bg-surface);
  border:1px solid var(--ls-border);
  color:var(--ls-fg2);
  border-radius:6px;
  font-weight:700;
}
.ls-actions .btn-ghost:hover { border-color:var(--ls-ci-blue); color:var(--ls-ci-deep); background:var(--ls-info-bg); }
.ls-filter-tab:focus-visible,
.ls-filter-select:focus-visible,
.ls-actions button:focus-visible,
.ls-cell-edit:focus-visible,
.ls-threshold-btn:focus-visible,
.ls-threshold-setting-btn:focus-visible,
.ls-modal-close:focus-visible {
  outline:2px solid var(--ls-ci-cyan);
  outline-offset:2px;
}
.ls-project-wrap { display:flex; flex-direction:column; gap:22px; }
.ls-project-group {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ls-project-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-raised);
}
.ls-project-kicker {
  color:var(--ls-ci-blue);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.ls-project-title {
  margin-top:3px;
  color:var(--ls-fg1);
  font-size:18px;
  font-weight:900;
}
.ls-project-stats { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.ls-project-stats span {
  padding:4px 8px;
  border-radius:999px;
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
  font-size:11px;
  font-weight:800;
}
.ls-list { display:flex; flex-direction:column; gap:16px; max-width:none; margin:0; }
.ls-card {
  position:relative;
  overflow:hidden;
  background:var(--ls-bg-surface);
  border:1px solid var(--ls-border);
  border-radius:8px;
  padding:18px;
  box-shadow:0 8px 22px rgba(15,23,42,.07);
}
.ls-card.ls-editable {
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ls-card.ls-editable:hover {
  border-color:var(--ls-info-border);
  box-shadow:0 12px 26px rgba(15,23,42,.11);
  transform:translateY(-1px);
}
.ls-card::before {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg, var(--ls-ci-deep), var(--ls-ci-cyan));
}
.ls-card-top {
  display:grid;
  grid-template-columns:96px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ls-border);
}
.ls-no {
  font-family:var(--ls-font-mono);
  font-size:13px;
  letter-spacing:.04em;
  color:var(--ls-ci-cyan);
  font-weight:700;
}
.ls-title-main {
  color:var(--ls-fg1);
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:0;
  word-break:keep-all;
}
.ls-title-sub {
  margin-top:4px;
  color:var(--ls-fg3);
  font-family:var(--ls-font-ui);
  font-size:12px;
  letter-spacing:0;
  font-weight:700;
}
.ls-card-tools {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ls-item-list-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  height:30px;
  padding:0 10px;
  border:1px solid var(--ls-border);
  border-radius:6px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.ls-item-list-btn:hover {
  border-color:var(--ls-ci-blue);
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
}
.ls-item-list-btn span {
  min-width:19px;
  height:19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:var(--ls-border);
  color:var(--ls-fg3);
  font-size:10px;
  font-weight:900;
}
.ls-item-list-btn.has-items {
  border-color:var(--blue-bd);
  background:var(--ls-info-bg);
  color:var(--ls-ci-blue);
}
.ls-item-list-btn.has-items span {
  background:var(--ls-ci-blue);
  color:var(--ls-bg-surface);
}
.ls-card-edit-btn,
.ls-card-delete-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 10px;
  border:1px solid var(--blue-bd);
  border-radius:6px;
  background:var(--ls-bg-surface);
  color:var(--ls-ci-blue);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.ls-card-edit-btn:hover { border-color:var(--ls-ci-blue); background:var(--ls-info-bg); color:var(--ls-ci-deep); }
.ls-card-delete-btn {
  border:1px solid var(--red-bd);
  color:var(--red);
}
.ls-card-delete-btn:hover { border-color:var(--red); background:var(--red-bg); color:var(--red); }
.ls-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid var(--green-bd);
  background:var(--green-bg);
  color:var(--green);
  font-family:var(--ls-font-ui);
  font-size:12px;
  letter-spacing:0;
  font-weight:700;
  white-space:nowrap;
}
.ls-air .ls-pill { border-color:var(--ls-info-border); background:var(--ls-info-bg); color:var(--ls-ci-deep); }
.ls-dot {
  width:6px; height:6px; border-radius:999px;
  background:var(--ls-ok);
  box-shadow:0 0 0 3px rgba(61,220,151,.14);
}
.ls-air .ls-dot { background:var(--ls-ci-cyan); box-shadow:0 0 0 3px rgba(26,163,224,.14); }
.ls-detail {
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ls-fg2);
}
.ls-detail span {
  font-family:var(--ls-font-ui);
  font-size:12px;
  letter-spacing:0;
  font-weight:700;
  color:var(--ls-fg3);
}
.ls-detail b {
  color:var(--ls-fg1);
  font-size:15px;
  font-weight:800;
  word-break:break-word;
}
.ls-note {
  margin-top:10px;
  color:var(--ls-ci-blue);
  font-size:14px;
  font-weight:700;
  padding-left:14px;
  border-left:2px solid var(--ls-ci-cyan);
}
.ls-table-wrap { overflow-x:auto; margin-top:14px; border:1px solid var(--ls-border); border-radius:8px; }
.ls-status-table {
  width:100%;
  min-width:1240px;
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--ls-fg1);
  font-size:14px;
}
.ls-status-table th,
.ls-status-table td {
  border-bottom:1px solid var(--ls-border);
  border-right:1px solid var(--ls-border);
  padding:10px 10px;
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
}
.ls-status-table th {
  background:var(--ls-ci-deep);
  color:var(--ls-bg-surface);
  font-family:var(--ls-font-ui);
  font-size:13px;
  letter-spacing:0;
  font-weight:700;
}
.ls-kind-head { width:64px; }
.ls-status-table td {
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-family:var(--ls-font-ui);
  font-size:14px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.ls-row-head {
  background:var(--ls-bg-muted) !important;
  color:var(--ls-fg1) !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.ls-route-cell {
  background:var(--ls-bg-surface) !important;
  color:var(--ls-fg1) !important;
  font-size:17px !important;
  font-weight:800 !important;
}
.ls-status-table tr:last-child td { border-bottom:0; }
.ls-status-table th:last-child,
.ls-status-table td:last-child { border-right:0; }
.ls-cell-edit,
.ls-threshold-btn {
  width:100%;
  min-height:28px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  cursor:pointer;
  padding:2px 6px;
  white-space:nowrap;
}
.ls-cell-edit:hover,
.ls-threshold-btn:hover {
  background:rgba(37,99,235,.08);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.24);
}
.ls-inline-input {
  width:100%;
  min-width:82px;
  max-width:160px;
  height:30px;
  border:1px solid var(--blue-bd);
  border-radius:6px;
  padding:0 8px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  font:inherit;
  font-size:13px;
  font-weight:800;
  text-align:center;
  outline:none;
}
.ls-inline-save,
.ls-inline-default,
.ls-inline-cancel {
  height:28px;
  border-radius:6px;
  border:1px solid var(--ls-border);
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  padding:0 8px;
}
.ls-inline-save {
  border-color:var(--ls-ci-blue);
  background:var(--ls-ci-blue);
  color:var(--ls-bg-surface);
}
.ls-inline-default {
  border-color:var(--ls-info-border);
  background:var(--ls-info-bg);
  color:var(--ls-ci-blue);
}
.ls-cell-popover {
  position:fixed;
  z-index:10020;
  width:min(340px, calc(100vw - 16px));
  padding:11px;
  border:1px solid var(--ls-border-strong);
  border-radius:8px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  box-shadow:0 14px 36px rgba(15,23,42,.24);
  font-family:var(--ls-font-ui);
}
.ls-cell-popover-wide { width:min(410px, calc(100vw - 16px)); }
.ls-cell-popover-label {
  margin-bottom:7px;
  color:var(--ls-fg2);
  font-size:11px;
  font-weight:900;
}
.ls-cell-popover-row {
  display:flex;
  align-items:center;
  gap:7px;
}
.ls-cell-popover .ls-inline-input {
  flex:1 1 150px;
  min-width:120px;
  max-width:none;
  height:34px;
}
.ls-cell-popover-actions {
  display:flex;
  flex:0 0 auto;
  gap:5px;
}
.ls-cell-popover .ls-inline-save,
.ls-cell-popover .ls-inline-default,
.ls-cell-popover .ls-inline-cancel { height:34px; }
.ls-cell-popover.is-saving { opacity:.72; }
.ls-threshold { line-height:1.1; color:var(--ls-fg1) !important; }
.ls-threshold span { display:block; margin-top:3px; font-size:11px; color:var(--ls-fg3); font-weight:700; }
.ls-threshold-setting-btn {
  width:100%;
  min-height:40px;
  padding:4px 6px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:900;
  line-height:1.1;
  cursor:pointer;
}
.ls-threshold-setting-btn:hover {
  background:rgba(255,255,255,.48);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.25);
}
.ls-green { background:var(--green-bg) !important; color:var(--green) !important; }
.ls-yellow { background:var(--amber-bg) !important; color:var(--amber) !important; }
.ls-red { background:var(--red-bg) !important; color:var(--red) !important; }
.ls-dday { font-weight:900 !important; color:var(--ls-fg1) !important; }
.ls-dday-green { background:var(--green-bg) !important; color:var(--green) !important; }
.ls-dday-yellow { background:var(--amber-bg) !important; color:var(--amber) !important; }
.ls-dday-red { background:var(--red-bg) !important; color:var(--red) !important; }
.ls-dday-selected {
  outline:2px solid var(--primary);
  outline-offset:-2px;
  box-shadow:inset 0 0 0 999px rgba(37,99,235,.03);
}
.ls-dday-manual { box-shadow:inset 0 -3px 0 rgba(37,99,235,.5); }
.ls-dday-manual.ls-dday-selected {
  box-shadow:inset 0 -3px 0 rgba(37,99,235,.5), inset 0 0 0 999px rgba(37,99,235,.03);
}
.ls-threshold-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.ls-manual-mark {
  display:inline-flex;
  align-items:center;
  min-height:17px;
  margin:0;
  padding:0 5px;
  border:1px solid rgba(37,99,235,.28);
  border-radius:5px;
  background:var(--ls-bg-surface);
  color:var(--ls-ci-blue);
  font-size:10px;
  font-weight:900;
  line-height:1;
}
body.ls-modal-lock { overflow:hidden; }
.ls-modal-backdrop {
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.42);
  backdrop-filter:saturate(130%) blur(2px);
  -webkit-backdrop-filter:saturate(130%) blur(2px);
  animation:ls-modal-fade .14s ease-out;
}
.ls-modal-panel {
  width:min(1120px, calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--ls-bg-surface);
  border:1px solid var(--ls-border);
  border-radius:8px;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
  animation:ls-modal-rise .16s ease-out;
}
.ls-modal-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px;
  background:var(--ls-ci-deep);
  color:var(--ls-bg-surface);
}
.ls-modal-kicker {
  font-size:12px;
  font-weight:800;
  opacity:.86;
}
.ls-modal-title {
  margin-top:2px;
  font-size:16px;
  line-height:1.35;
  font-weight:900;
}
.ls-modal-close {
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:6px;
  background:rgba(255,255,255,.08);
  color:var(--ls-bg-surface);
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.ls-modal-close:hover {
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.68);
}
.ls-modal-body {
  padding:16px;
  overflow:auto;
  background:var(--ls-bg-surface);
}
.ls-threshold-panel { width:min(720px, calc(100vw - 48px)); }
.ls-threshold-body {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ls-threshold-context {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--ls-border);
}
.ls-threshold-context strong {
  min-width:0;
  overflow:hidden;
  color:var(--ls-fg1);
  font-size:15px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ls-threshold-context span {
  flex:0 0 auto;
  color:var(--ls-fg3);
  font-size:12px;
  font-weight:800;
}
.ls-threshold-help {
  margin:0;
  color:var(--ls-fg2);
  font-size:12px;
  line-height:1.6;
}
.ls-threshold-form-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.ls-threshold-field {
  min-width:0;
  padding:12px;
  border:1px solid var(--ls-border);
  border-top-width:4px;
  border-radius:7px;
  background:var(--ls-bg-raised);
}
.ls-threshold-field-green { border-top-color:var(--ls-ok); }
.ls-threshold-field-yellow { border-top-color:var(--ls-warn); }
.ls-threshold-field-red { border-top-color:var(--ls-danger); }
.ls-threshold-field > span {
  display:block;
  margin-bottom:8px;
  color:var(--ls-fg1);
  font-size:12px;
  font-weight:900;
}
.ls-threshold-field > div {
  display:flex;
  align-items:center;
  gap:6px;
}
.ls-threshold-field input {
  width:100%;
  min-width:0;
  height:36px;
  border:1px solid var(--ls-border-strong);
  border-radius:6px;
  padding:0 9px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  font:inherit;
  font-size:14px;
  font-weight:900;
  text-align:right;
}
.ls-threshold-field input:focus {
  border-color:var(--ls-ci-blue);
  outline:2px solid rgba(37,99,235,.15);
}
.ls-threshold-field em {
  color:var(--ls-fg2);
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
.ls-threshold-field small {
  display:block;
  margin-top:7px;
  color:var(--ls-fg3);
  font-size:10px;
  line-height:1.35;
}
.ls-threshold-status-field {
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  align-items:center;
  gap:10px;
}
.ls-threshold-status-field > span {
  color:var(--ls-fg1);
  font-size:12px;
  font-weight:900;
}
.ls-threshold-status-field select {
  width:100%;
  height:36px;
  border:1px solid var(--ls-border-strong);
  border-radius:6px;
  padding:0 10px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  font:inherit;
  font-size:12px;
  font-weight:800;
}
.ls-threshold-preview {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--ls-border);
  border-radius:7px;
}
.ls-threshold-preview > span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  padding:10px;
  border-right:1px solid var(--ls-border);
}
.ls-threshold-preview > span:last-child { border-right:0; }
.ls-threshold-preview .green { background:var(--green-bg); color:var(--green); }
.ls-threshold-preview .yellow { background:var(--amber-bg); color:var(--amber); }
.ls-threshold-preview .red { background:var(--red-bg); color:var(--red); }
.ls-threshold-preview b { font-size:10px; }
.ls-threshold-preview em {
  overflow:hidden;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ls-threshold-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-top:1px solid var(--ls-border);
  background:var(--ls-bg-raised);
}
.ls-threshold-footer > div { display:flex; gap:8px; }
@keyframes ls-modal-fade {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes ls-modal-rise {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
.ls-item-list-panel { width:min(1500px, calc(100vw - 48px)); }
.ls-item-list-body {
  min-height:260px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ls-item-list-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.ls-item-summary,
.ls-item-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.ls-item-summary span {
  color:var(--ls-fg3);
  font-size:12px;
  font-weight:800;
  padding-right:10px;
  border-right:1px solid var(--ls-border);
}
.ls-item-summary span:last-child { border-right:0; padding-right:0; }
.ls-item-summary b { color:var(--ls-fg1); font-size:13px; }
.ls-item-actions .btn-ghost {
  border:1px solid var(--ls-border);
  border-radius:6px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg2);
  font-weight:800;
}
.ls-item-actions .ls-item-delete-btn { border-color:var(--red-bd); color:var(--red); }
.ls-item-upload-note {
  padding:9px 11px;
  border:1px solid var(--ls-border);
  border-radius:6px;
  background:var(--ls-bg-raised);
  color:var(--ls-fg3);
  font-size:12px;
  font-weight:700;
}
.ls-item-table-wrap {
  overflow:auto;
  flex:1 1 auto;
  border:1px solid var(--ls-border);
  border-radius:6px;
  background:var(--ls-bg-surface);
}
.ls-item-table {
  width:100%;
  min-width:1480px;
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--ls-fg1);
  font-size:12px;
}
.ls-item-table th,
.ls-item-table td {
  border-right:1px solid var(--ls-border);
  border-bottom:1px solid var(--ls-border);
  padding:8px 7px;
  text-align:center;
  vertical-align:middle;
}
.ls-item-table th {
  position:sticky;
  top:0;
  z-index:2;
  background:var(--ls-ci-deep);
  color:var(--ls-bg-surface);
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.ls-item-table th small { font-size:10px; font-weight:600; opacity:.82; }
.ls-item-table tbody tr:nth-child(even) td { background:var(--ls-bg-raised); }
.ls-item-table th:last-child,
.ls-item-table td:last-child { border-right:0; }
.ls-item-table tbody tr:last-child td { border-bottom:0; }
.ls-item-table th:nth-child(1) { width:50px; }
.ls-item-table th:nth-child(2) { width:100px; }
.ls-item-table th:nth-child(3) { width:130px; }
.ls-item-table th:nth-child(4) { width:240px; }
.ls-item-table th:nth-child(5) { width:90px; }
.ls-item-table th:nth-child(6),
.ls-item-table th:nth-child(7),
.ls-item-table th:nth-child(8) { width:100px; }
.ls-item-table th:nth-child(9) { width:70px; }
.ls-item-table th:nth-child(10),
.ls-item-table th:nth-child(11) { width:110px; }
.ls-item-table th:nth-child(12) { width:110px; }
.ls-item-table th:nth-child(13) { width:150px; }
.ls-item-table th:nth-child(14) { width:150px; }
.ls-item-name { text-align:left !important; font-weight:800; word-break:break-word; }
.ls-item-num,
.ls-item-money { text-align:right !important; font-variant-numeric:tabular-nums; }
.ls-item-money { font-weight:800; }
.ls-item-photo {
  width:58px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--ls-border);
  border-radius:4px;
  background:var(--ls-bg-surface);
}
.ls-item-photo img { width:100%; height:100%; object-fit:contain; }
.ls-item-no-photo { color:var(--ls-fg-muted); }
.ls-item-empty,
.ls-item-loading,
.ls-item-error {
  padding:56px 20px !important;
  text-align:center !important;
  color:var(--ls-fg3);
  font-size:13px;
  font-weight:800;
}
.ls-item-error { color:var(--red); }
.ls-mail-panel { width:min(760px, calc(100vw - 48px)); }
.ls-mail-help {
  padding:10px 12px;
  border:1px solid var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-raised);
  color:var(--ls-fg2);
  font-size:13px;
  font-weight:700;
}
.ls-mail-search {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:12px;
}
.ls-mail-grid {
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:8px;
  margin-top:12px;
}
.ls-mail-select,
.ls-mail-input {
  height:34px;
  border:1px solid var(--ls-border);
  border-radius:7px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  font-size:13px;
  font-weight:700;
  padding:0 10px;
  min-width:0;
}
.ls-user-results {
  max-height:238px;
  overflow:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:8px;
  border:1px solid var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-raised);
}
.ls-user-result {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  border:1px solid var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-surface);
  color:var(--ls-fg1);
  cursor:pointer;
  padding:9px 10px;
  text-align:left;
}
.ls-user-result:hover {
  border-color:var(--blue-bd);
  background:var(--ls-info-bg);
}
.ls-user-result span {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ls-user-result b {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:900;
}
.ls-user-result small {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ls-fg3);
  font-size:11px;
  font-weight:700;
}
.ls-user-result em {
  flex:0 0 auto;
  border-radius:999px;
  background:var(--blue-bg);
  color:var(--ls-ci-blue);
  font-style:normal;
  font-size:11px;
  font-weight:900;
  padding:4px 7px;
}
.ls-user-result-empty {
  grid-column:1 / -1;
  padding:12px;
  color:var(--ls-fg3);
  font-size:13px;
  font-weight:800;
  text-align:center;
}
.ls-recipient-list {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  min-height:70px;
  margin-top:12px;
  padding:12px;
  border:1px dashed var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-surface);
}
.ls-recipient-empty { color:var(--ls-fg-muted); font-size:13px; font-weight:700; }
.ls-recipient-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:1px solid var(--ls-info-border);
  border-radius:999px;
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
  font-size:12px;
  font-weight:900;
}
.ls-recipient-chip small { color:var(--ls-fg3); font-weight:700; }
.ls-recipient-chip button {
  width:18px;
  height:18px;
  border:0;
  border-radius:999px;
  background:var(--blue-bg);
  color:var(--ls-ci-blue);
  cursor:pointer;
  line-height:1;
  font-weight:900;
}
.ls-mail-footer {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:14px;
}
.ls-guide-panel { width:min(860px, calc(100vw - 32px)); }
.ls-guide-body { color:var(--ls-fg2); }
.ls-guide-intro {
  padding:0 0 16px;
  border-bottom:1px solid var(--ls-border);
}
.ls-guide-intro strong { display:block; color:var(--ls-fg1); font-size:17px; }
.ls-guide-intro p { margin:6px 0 0; color:var(--ls-fg3); line-height:1.6; }
.ls-guide-flow {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 0;
  border-bottom:1px solid var(--ls-border);
  color:var(--ls-fg2);
  font-size:12px;
  font-weight:900;
}
.ls-guide-flow span { white-space:nowrap; }
.ls-guide-flow i { color:var(--ls-fg-muted); font-style:normal; }
.ls-guide-section { padding:16px 0 0; }
.ls-guide-section h3 {
  margin:0 0 10px;
  color:var(--ls-fg1);
  font-size:14px;
  letter-spacing:0;
}
.ls-guide-steps { margin:0; padding:0; list-style:none; }
.ls-guide-steps li {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid var(--ls-border);
}
.ls-guide-steps li:last-child { border-bottom:0; }
.ls-guide-steps li > b {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
  font-size:12px;
}
.ls-guide-steps strong { color:var(--ls-fg1); font-size:13px; }
.ls-guide-steps p { margin:3px 0 0; font-size:12px; line-height:1.55; }
.ls-guide-steps code {
  padding:1px 5px;
  border-radius:4px;
  background:var(--ls-info-bg);
  color:var(--ls-ci-deep);
  font-family:var(--ls-font-ui);
  font-weight:900;
}
.ls-guide-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding-top:4px;
  border-top:1px solid var(--ls-border);
}
.ls-guide-checklist { margin:0; padding:0; list-style:none; }
.ls-guide-checklist li {
  position:relative;
  padding:4px 0 4px 18px;
  font-size:12px;
}
.ls-guide-checklist li::before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--ls-ci-blue);
  font-weight:900;
}
.ls-guide-legends { display:grid; gap:6px; }
.ls-guide-legends > div {
  display:grid;
  grid-template-columns:12px 58px minmax(0,1fr);
  align-items:center;
  gap:7px;
  font-size:12px;
}
.ls-guide-legends span { width:10px; height:10px; border-radius:2px; }
.ls-guide-legends .green { background:var(--ls-ok); }
.ls-guide-legends .yellow { background:var(--ls-warn); }
.ls-guide-legends .red { background:var(--ls-danger); }
.ls-guide-legends b { color:var(--ls-fg1); font-size:11px; }
.ls-guide-legends p { margin:0; }
.ls-guide-caption { margin:9px 0 0; color:var(--ls-fg3); font-size:11px; line-height:1.5; }
.ls-guide-roles {
  display:grid;
  grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-top:16px;
  padding:14px 0;
  border-top:1px solid var(--ls-border);
  border-bottom:1px solid var(--ls-border);
}
.ls-guide-roles h3 { margin:2px 0 0; }
.ls-guide-roles b { display:block; color:var(--ls-fg1); font-size:12px; }
.ls-guide-roles p { margin:4px 0 0; font-size:12px; line-height:1.55; }
.ls-guide-rule {
  margin-top:16px;
  padding:14px;
  border-left:3px solid var(--ls-ci-blue);
  background:var(--ls-info-bg);
}
.ls-guide-rule h3 { margin-bottom:5px; }
.ls-guide-rule p { margin:0; font-size:12px; line-height:1.6; }
.ls-guide-footer {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}
.ls-empty {
  max-width:760px;
  margin:56px auto;
  padding:72px 24px;
  text-align:center;
  color:var(--ls-fg3);
  border:1px dashed var(--ls-border);
  border-radius:8px;
  background:var(--ls-bg-raised);
}
@media (max-width: 760px) {
  .ls-page { padding:12px; }
  .ls-header-row { flex-direction:column; }
  .ls-actions { width:100%; }
  .ls-actions .btn-ghost,
  .ls-actions .btn-primary { flex:1 1 120px; }
  .ls-card { padding:14px; border-radius:8px; }
  .ls-card-top { grid-template-columns:1fr; gap:6px; }
  .ls-card-tools { justify-content:flex-start; }
  .ls-title-main { font-size:18px; }
  .ls-pill { width:max-content; }
  .ls-detail { align-items:flex-start; flex-direction:column; gap:4px; }
  .ls-status-table { min-width:1120px; font-size:13px; }
  .ls-project-head { align-items:flex-start; flex-direction:column; }
  .ls-mail-grid { grid-template-columns:1fr; }
  .ls-user-results { grid-template-columns:1fr; max-height:280px; }
  .ls-guide-panel { width:100%; }
  .ls-guide-flow { justify-content:flex-start; overflow-x:auto; }
  .ls-guide-columns { grid-template-columns:1fr; gap:0; }
  .ls-guide-roles { grid-template-columns:1fr; gap:8px; }
  .ls-cell-popover-row { align-items:stretch; flex-direction:column; }
  .ls-cell-popover .ls-inline-input { flex-basis:auto; width:100%; }
  .ls-cell-popover-actions { width:100%; }
  .ls-cell-popover-actions button { flex:1 1 0; }
  .ls-threshold-context { align-items:flex-start; flex-direction:column; }
  .ls-threshold-form-grid { grid-template-columns:1fr; }
  .ls-threshold-status-field { grid-template-columns:1fr; gap:6px; }
  .ls-threshold-preview { grid-template-columns:1fr; }
  .ls-threshold-preview > span { border-right:0; border-bottom:1px solid var(--ls-border); }
  .ls-threshold-preview > span:last-child { border-bottom:0; }
  .ls-threshold-footer { align-items:stretch; flex-direction:column-reverse; }
  .ls-threshold-footer > button,
  .ls-threshold-footer > div,
  .ls-threshold-footer > div > button { width:100%; }
  .ls-modal-backdrop { align-items:stretch; padding:0; }
  .ls-modal-panel { width:100%; max-height:100vh; border-radius:0; border:0; }
  .ls-modal-body { padding:14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ls-modal-backdrop,
  .ls-modal-panel,
  .ls-card.ls-editable {
    animation:none;
    transition:none;
  }
}
