:root {
  font-family: Inter, 'Noto Sans SC', 'Microsoft YaHei UI', 'PingFang SC', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #172033;
  background: #f4f6fa;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --blue: #2563eb;
  --blue-dark: #1e4fc2;
  --blue-soft: #eaf1ff;
  --accent: var(--blue);
  --accent-soft: var(--blue-soft);
  --ink: #172033;
  --muted: #6f7890;
  --line: #e7eaf0;
  --surface: #fff;
  --surface-soft: #f7f9fc;
  --text: var(--ink);
  --sidebar: 244px;
  --shadow: 0 14px 38px rgba(28, 39, 69, .08);
  --ui-scale: 1;
  --accent-start: #3977ed;
  --accent-end: #1d4fbd;
  --sidebar-start: #17377c;
  --sidebar-end: #102653;
  --sidebar-active-start: #2e68db;
  --sidebar-active-end: #3478f6;
  --sidebar-marker: #74a6ff;
  --chart-primary: #3270e5;
}

.storage-safety-note{margin:16px 0}.storage-page .filter-main{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(145px,.7fr)) 150px 150px auto;align-items:end}.storage-page .filter-main>label:not(.search-field){display:grid;gap:5px;min-width:0}.storage-page .filter-main>label:not(.search-field)>span{color:var(--text-muted);font-size:12px;font-weight:700}.storage-page .filter-main input[type='date']{width:100%;min-height:40px}.storage-file-card footer{display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.storage-file-card footer small{color:var(--text-muted)}
.update-timeline{position:relative;padding:28px 28px 28px 42px}.update-timeline::before{content:"";position:absolute;left:29px;top:36px;bottom:36px;width:2px;background:var(--border)}.update-timeline>article{position:relative;padding:0 0 26px 18px}.update-timeline>article:last-child{padding-bottom:0}.update-dot{position:absolute;left:-20px;top:11px;width:14px;height:14px;border:3px solid var(--panel);border-radius:50%;box-shadow:0 0 0 2px var(--border)}.update-dot.released{background:#20b486}.update-dot.developing{background:var(--accent)}.update-card{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--panel-muted)}.update-card header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.update-card header>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:8px;white-space:nowrap}.update-card h2{margin:0 0 6px;font-size:19px}.update-card p{margin:0;color:var(--text-muted)}.update-card time{font-size:13px;color:var(--text-muted)}.update-card ol{margin:16px 0 0;padding-left:22px;color:var(--text-secondary)}.update-card li{padding:4px 0;line-height:1.65}
@media(max-width:720px){.update-timeline{padding:20px 16px 20px 30px}.update-timeline::before{left:20px}.update-timeline>article{padding-left:12px}.update-dot{left:-18px}.update-card{padding:16px}.update-card header{flex-direction:column;gap:12px}.update-card header>div:last-child{align-items:flex-start;flex-direction:row}.storage-page .page-heading{align-items:stretch;flex-direction:column}.storage-page .page-heading>button{width:100%;min-height:44px;justify-content:center}.storage-page .module-note{align-items:flex-start}.storage-page .filter-main{grid-template-columns:1fr 1fr}.storage-page .search-field,.storage-page .filter-main>select,.storage-page .filter-button{grid-column:1/-1}.storage-page .filter-main select,.storage-page .filter-main input[type='date'],.storage-page .filter-button{min-height:44px}.storage-page .filter-button{width:100%;justify-content:center}}

* { box-sizing: border-box; }
html, body, #root { min-height: 100%; margin: 0; }
body { overflow-x: hidden; }
#root { width: 100%; zoom: var(--ui-scale); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

/* 长时间办公可读性：统一提高业务正文、控件和表格的最小字号。 */
.app-shell, .login-page { font-size: 14px; }
.app-shell button, .app-shell input, .app-shell select, .app-shell textarea,
.login-page button, .login-page input, .login-page select, .login-page textarea { font-size: 13px; }
.app-shell p, .login-page p { font-size: 13px; line-height: 1.65; }
.app-shell small, .login-page small { font-size: 11px; line-height: 1.5; }
.app-shell th { font-size: 12px; }.app-shell td { font-size: 13px; }
.app-shell td b { font-size: 13px; }.app-shell td small { font-size: 11px; }
.app-shell .status-badge { font-size: 11px; }
.app-shell .eyebrow, .login-page .eyebrow { font-size: 11px; }
.app-shell .text-link { font-size: 12px; }

.app-shell { min-height: 100vh; background: #f5f7fb; }
.main-shell { min-height: 100vh; margin-left: var(--sidebar); transition: margin .22s ease; }
.sidebar-compact .main-shell { margin-left: 76px; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 50; width: var(--sidebar); display: flex; flex-direction: column;
  color: #e7efff; background: linear-gradient(180deg, var(--sidebar-start) 0%, color-mix(in srgb,var(--sidebar-start) 62%,var(--sidebar-end)) 72%, var(--sidebar-end) 100%);
  border-right: 1px solid rgba(255,255,255,.06); transition: width .22s ease, transform .22s ease;
}
.sidebar-compact .sidebar { width: 76px; }
.sidebar-head { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; }
.brand { display: flex; align-items: center; gap: 11px; color: #fff; font-size: 18px; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.brand b { color: #8fb5ff; }
.brand-mark { width: 38px; height: 38px; display: block; flex: 0 0 auto; border-radius: 10px; object-fit: contain; box-shadow: 0 8px 20px rgba(34,91,216,.28); }
.company-switch { margin: 2px 14px 18px; min-height: 62px; padding: 10px 11px; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; white-space: nowrap; overflow: hidden; }
.company-switch > svg { margin-left: auto; opacity: .62; }
.company-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #1f4cad; background: #e9f0ff; font-weight: 700; }
.company-switch div { display: flex; flex-direction: column; min-width: 0; }
.company-switch b { color: #fff; font-size: 13px; }
.company-switch small { margin-top: 2px; color: #9db0d6; font-size: 11px; }
.sidebar-nav { flex: 1; overflow-y: auto; padding: 0 10px 18px; scrollbar-width: none; }
.sidebar-nav::-webkit-scrollbar { display: none; }
.nav-section { margin-bottom: 16px; }
.nav-section-title { padding: 0 12px 7px; color: #7f96c5; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.nav-item { position: relative; width: 100%; height: 42px; padding: 0 11px; display: flex; align-items: center; gap: 11px; color: #b9c9e8; background: transparent; border: 0; border-radius: 10px; text-align: left; transition: .16s ease; white-space: nowrap; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, var(--sidebar-active-start), var(--sidebar-active-end)); box-shadow: 0 7px 18px rgba(11,39,103,.3); }
.nav-item.active::before { content: ''; position: absolute; left: -10px; width: 3px; height: 22px; background: var(--sidebar-marker); border-radius: 0 3px 3px 0; }
.nav-item span { flex: 1; font-size: 13px; font-weight: 500; }
.nav-item em { min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; color: #fff; background: #ed6a5e; border-radius: 10px; font-size: 10px; font-style: normal; }
.nav-group { position: relative; }
.nav-group + .nav-group { margin-top: 2px; }
.nav-chevron { flex: 0 0 auto; opacity: .42; transition: transform .18s ease, opacity .18s ease; }
.nav-chevron.expanded { opacity: .88; transform: rotate(90deg); }
.subnav-list { position: relative; margin: 3px 0 7px 21px; padding: 3px 0 3px 14px; display: flex; flex-direction: column; gap: 2px; border-left: 1px solid rgba(159,188,239,.2); }
.subnav-list button { position: relative; width: 100%; min-height: 34px; padding: 7px 10px; color: #9eb2d7; background: transparent; border: 0; border-radius: 8px; text-align: left; font-size: 11px; line-height: 1.35; transition: color .16s ease, background .16s ease; }
.subnav-list button:hover { color: #fff; background: rgba(255,255,255,.06); }
.subnav-list button > span { position: absolute; top: 50%; left: -18px; width: 7px; height: 1px; background: rgba(159,188,239,.28); }
.subnav-list button.active { color: #fff; background: rgba(81,137,247,.24); font-weight: 600; }
.subnav-list button.active::after { content: ''; position: absolute; top: 50%; left: -18px; width: 5px; height: 5px; background: #80adff; border-radius: 50%; box-shadow: 0 0 0 3px rgba(89,145,250,.18); transform: translate(-2px,-50%); }
.sidebar-collapse { height: 52px; margin: 0 12px 12px; padding: 0 13px; display: flex; gap: 13px; align-items: center; color: #aabddd; background: rgba(255,255,255,.04); border: 0; border-radius: 11px; white-space: nowrap; }
.sidebar-compact .brand span, .sidebar-compact .company-switch div, .sidebar-compact .company-switch > svg, .sidebar-compact .nav-section-title, .sidebar-compact .nav-item span, .sidebar-compact .nav-item em, .sidebar-compact .sidebar-collapse span { display: none; }
.sidebar-compact .sidebar-head { padding: 0 19px; }
.sidebar-compact .company-switch { margin-inline: 10px; padding: 10px; justify-content: center; }
.sidebar-compact .nav-item { justify-content: center; padding: 0; }
.sidebar-compact .subnav-list { display: none; }
.sidebar-compact .sidebar-collapse { justify-content: center; padding: 0; }
.sidebar-compact .sidebar-collapse svg { transform: rotate(180deg); }
.sidebar-close, .sidebar-scrim { display: none !important; }

.topbar { position: sticky; top: 0; z-index: 30; height: 72px; padding: 0 26px; display: grid; grid-template-columns: 1fr minmax(300px, 510px) 1fr; align-items: center; gap: 22px; background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.topbar-left, .topbar-actions { display: flex; align-items: center; }
.topbar-actions { justify-content: flex-end; gap: 8px; }
.workspace-tabs { position: sticky; top: 72px; z-index: 26; height: 48px; padding: 0 12px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto 34px; align-items: end; gap: 5px; background: rgba(247,249,252,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.workspace-tab-list { min-width: 0; height: 47px; display: flex; align-items: end; gap: 5px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-behavior: smooth; }
.workspace-tab-list::-webkit-scrollbar { display: none; }
.workspace-tab { height: 38px; flex: 0 0 auto; display: flex; align-items: center; color: #738097; background: #eef1f6; border: 1px solid #e1e5ec; border-bottom: 0; border-radius: 10px 10px 0 0; }
.workspace-tab.active { color: var(--blue); background: #fff; border-color: #dce3ed; box-shadow: 0 -3px 11px rgba(31,49,79,.04); }
.workspace-tab-select { min-width: 0; height: 37px; padding: 0 8px 0 12px; display: inline-flex; align-items: center; gap: 7px; color: inherit; background: transparent; border: 0; white-space: nowrap; }
.workspace-tab-select span { max-width: 132px; overflow: hidden; text-overflow: ellipsis; }
.workspace-tab.active .workspace-tab-select { font-weight: 700; }
.workspace-tab-close { width: 30px; height: 30px; padding: 0; margin-right: 3px; display: grid; place-items: center; color: #9aa4b4; background: transparent; border: 0; border-radius: 8px; }
.workspace-tab-close:hover { color: #ca4f4f; background: #fff0ef; }
.workspace-tab-scroll { width: 32px; height: 32px; padding: 0; margin-bottom: 7px; display: grid; place-items: center; color: #627088; background: #fff; border: 1px solid #dfe4eb; border-radius: 8px; }
.workspace-tab-scroll:disabled { opacity: .35; cursor: default; }
.workspace-tab-count { margin-bottom: 12px; padding: 3px 6px; color: #8c96a7; font-size: 11px; white-space: nowrap; }
.connection-badge { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 7px; color: #617087; background: #f5f7fb; border: 1px solid #e5e9f0; border-radius: 9px; font: inherit; font-size: 10px; font-weight: 600; white-space: nowrap; }
.connection-badge.connected { color: #16785e; background: #eaf8f3; border-color: #ccecdf; }
.connection-badge.disconnected { color: #b54e48; background: #fff3f2; border-color: #f2d6d3; }
.connection-badge.checking svg { animation: connection-spin 1s linear infinite; }
.connection-badge.interactive { cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.connection-badge.interactive:hover { transform: translateY(-1px); border-color: #a9d9c8; box-shadow: 0 6px 16px rgba(28,91,70,.1); }
@keyframes connection-spin { to { transform: rotate(360deg); } }
.breadcrumb { display: flex; align-items: center; gap: 7px; color: #9098aa; font-size: 12px; white-space: nowrap; }
.breadcrumb b { color: #3d465b; }
.global-search { width: 100%; height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 9px; color: #8b94a8; background: #f5f7fb; border: 1px solid #eceef3; border-radius: 11px; text-align: left; }
.global-search > span { flex: 1; min-width: 0; color: #8b94a8; font-size: 13px; }
.global-search kbd { padding: 3px 6px; color: #8d96aa; background: #fff; border: 1px solid #e3e6ed; border-radius: 5px; font-size: 10px; }
.icon-button { width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0; color: #647087; background: transparent; border: 0; border-radius: 10px; }
.icon-button:hover { color: var(--blue); background: var(--blue-soft); }
.scan-top-button { height: 38px; padding: 0 13px; display: flex; align-items: center; gap: 7px; color: var(--blue); background: var(--blue-soft); border: 0; border-radius: 10px; font-size: 12px; font-weight: 600; }
.profile-wrap { position: relative; }
.profile-button { height: 46px; padding: 4px 7px; display: flex; align-items: center; gap: 9px; background: transparent; border: 0; border-radius: 11px; }
.profile-button:hover { background: #f5f7fb; }
.profile-button > span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #356edc, #63a0ff); border-radius: 11px; font-size: 12px; font-weight: 700; }
.profile-button div { display: flex; flex-direction: column; align-items: flex-start; }
.profile-button b { color: #263047; font-size: 12px; }
.profile-button small { color: #98a0b1; font-size: 9px; }
.profile-menu { position: absolute; top: 52px; right: 0; min-width: 205px; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.profile-menu button { width: 100%; padding: 9px 10px; display: flex; align-items: center; gap: 8px; color: #5d667a; background: transparent; border: 0; border-radius: 7px; }
.profile-menu button:hover { color: #d64f49; background: #fff3f2; }
.profile-zoom { padding: 7px 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #647087; border-bottom: 1px solid var(--line); margin-bottom: 4px; font-size: 12px; }
.profile-zoom > div { display: grid; grid-template-columns: 32px 48px 32px; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.profile-zoom button { width: 32px; min-height: 32px; padding: 0; justify-content: center; border-radius: 0; }
.profile-zoom b { color: var(--text); text-align: center; font-size: 11px; }
.mobile-menu { display: none; }
.desktop-utility-actions { display: flex; align-items: center; gap: 2px; }
.utility-action-button { min-width: 48px; height: 42px; padding: 3px 7px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: #6e798e; background: transparent; border: 0; border-radius: 9px; font-size: 8px; }
.utility-action-button:hover { color: var(--blue); background: var(--blue-soft); }
.utility-icon-wrap { position: relative; display: inline-flex; }
.utility-icon-wrap i { position: absolute; top: -3px; right: -4px; width: 7px; height: 7px; background: #ef6258; border: 2px solid #fff; border-radius: 50%; }
.mobile-profile-action { display: none !important; }

.utility-backdrop { position: fixed; inset: 0; z-index: 120; display: flex; justify-content: flex-end; background: rgba(16,25,43,.32); backdrop-filter: blur(2px); animation: utility-fade .18s ease; }
.utility-center { width: min(470px,100vw); height: 100%; display: flex; flex-direction: column; color: #29354b; background: #f7f9fc; border-left: 1px solid #e3e8f0; box-shadow: -22px 0 60px rgba(22,35,62,.16); animation: utility-slide .22s ease; }
@keyframes utility-fade { from { opacity: 0; } }
@keyframes utility-slide { from { transform: translateX(30px); opacity: .7; } }
.utility-head { min-height: 76px; padding: 0 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; background: #fff; border-bottom: 1px solid #e6eaf1; }
.utility-head > span { width: 39px; height: 39px; display: grid; place-items: center; color: #2d6bd9; background: #eaf2ff; border-radius: 11px; }
.utility-head h2 { margin: 0 0 3px; font-size: 16px; }.utility-head small { color: #949dad; font-size: 9px; }
.utility-content { flex: 1; padding: 18px; overflow-y: auto; }
.utility-intro { margin-bottom: 14px; padding: 15px; display: flex; align-items: flex-start; gap: 12px; color: #3973d7; background: #eef5ff; border: 1px solid #d9e7fb; border-radius: 13px; }
.utility-intro > div { min-width: 0; }.utility-intro b { color: #34435b; font-size: 12px; }.utility-intro p { margin: 4px 0 0; color: #78869d; font-size: 10px; line-height: 1.65; }
.download-card { position: relative; margin-bottom: 11px; padding: 15px; background: #fff; border: 1px solid #e2e7ef; border-radius: 13px; }
.download-card > div { display: flex; align-items: center; gap: 11px; }.download-platform { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; color: #3873d7; background: #eef4ff; border-radius: 10px; }
.download-card > div > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; }.download-card b { color: #35435a; font-size: 11px; overflow-wrap: anywhere; }.download-card small { color: #929cad; font-size: 9px; }.download-card p { margin: 12px 0 0; color: #7c8799; font-size: 10px; line-height: 1.65; }
.primary-download .primary-button { width: 100%; margin-top: 14px; text-decoration: none; }.checksum-link { margin-top: 11px; display: block; color: #4d78bb; font-size: 9px; text-align: center; text-decoration: none; }
.availability-tag { position: absolute; top: 14px; right: 14px; padding: 4px 7px; color: #7b8494; background: #f0f2f5; border-radius: 6px; font-size: 8px; }.availability-tag.available { color: #16805f; background: #e7f7f0; }.download-card.muted { opacity: .78; }
.utility-note { margin-top: 15px; padding: 12px; display: flex; align-items: flex-start; gap: 9px; color: #7d6b3d; background: #fff9e9; border: 1px solid #f1e3b9; border-radius: 11px; font-size: 9px; line-height: 1.65; }
.connection-overview { margin-bottom: 14px; padding: 17px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 13px; background: #f4f7fb; border: 1px solid #e2e8f0; border-radius: 13px; }
.connection-overview > span { width: 44px; height: 44px; display: grid; place-items: center; color: #66758b; background: #fff; border-radius: 12px; }
.connection-overview b { color: #34435a; font-size: 14px; }.connection-overview p { margin: 5px 0 0; color: #7f8a9d; font-size: 11px; line-height: 1.6; }
.connection-overview.connected { background: #edf9f5; border-color: #caecdf; }.connection-overview.connected > span { color: #16805f; background: #dcf5eb; }
.connection-overview.disconnected { background: #fff4f3; border-color: #f1d8d5; }.connection-overview.disconnected > span { color: #bd5149; background: #ffe5e2; }
.connection-overview.checking > span svg { animation: connection-spin 1s linear infinite; }
.connection-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.connection-detail-grid article { min-width: 0; padding: 14px; display: flex; flex-direction: column; gap: 5px; background: #fff; border: 1px solid #e3e8ef; border-radius: 11px; }
.connection-detail-grid span { color: #8a95a7; font-size: 10px; }.connection-detail-grid b { color: #39485f; font-size: 12px; overflow-wrap: anywhere; }.connection-detail-grid small { color: #909aaa; font-size: 9px; line-height: 1.55; }
.connection-retry { width: 100%; min-height: 44px; margin-top: 14px; }.connection-retry .lucide-loader-circle { animation: connection-spin 1s linear infinite; }
.utility-summary-grid { margin-bottom: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.utility-summary-grid article { padding: 14px; display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid #e3e7ee; border-radius: 12px; }.utility-summary-grid span { color: #8e98a9; font-size: 9px; }.utility-summary-grid b { color: #2d3b53; font-size: 22px; }
.message-list { display: grid; gap: 9px; }.message-card { width: 100%; min-height: 76px; padding: 13px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; color: #536077; background: #fff; border: 1px solid #e3e7ee; border-radius: 12px; text-align: left; }.message-card:hover { border-color: #bed0ee; box-shadow: 0 8px 24px rgba(32,54,91,.06); }.message-card > span { width: 35px; height: 35px; display: grid; place-items: center; color: #3873d7; background: #eef4ff; border-radius: 9px; }.message-card > div { min-width: 0; }.message-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.message-card b { color: #36445b; font-size: 11px; }.message-card time,.message-card em { color: #8792a4; font-size: 8px; font-style: normal; white-space: nowrap; }.message-card p { margin: 5px 0 0; color: #8993a4; font-size: 9px; line-height: 1.55; }.message-card.release > span { color: #16805f; background: #e7f7f0; }
.utility-empty { min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #74a18e; }.utility-empty b { color: #536277; font-size: 12px; }.utility-empty span { color: #929baa; font-size: 9px; }
.help-groups { display: grid; gap: 10px; }.help-groups article { padding: 15px; background: #fff; border: 1px solid #e2e7ef; border-radius: 12px; }.help-groups h3 { margin: 0; color: #344259; font-size: 12px; }.help-groups p { margin: 7px 0 0; color: #828d9f; font-size: 10px; line-height: 1.7; }.help-groups button { width: 100%; min-height: 38px; margin-top: 10px; padding: 0; display: flex; align-items: center; justify-content: space-between; color: #326cc7; background: transparent; border: 0; border-top: 1px solid #eef0f4; padding-top: 9px; font-size: 10px; }
.theme-options { display: grid; gap: 10px; }.theme-options button { min-height: 74px; padding: 13px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; color: #818b9c; background: #fff; border: 1px solid #e2e7ef; border-radius: 12px; text-align: left; }.theme-options button > span { width: 39px; height: 39px; display: grid; place-items: center; color: #63728a; background: #f2f4f7; border-radius: 10px; }.theme-options button > div { display: flex; flex-direction: column; gap: 4px; }.theme-options b { color: #39475d; font-size: 11px; }.theme-options small { color: #929baa; font-size: 9px; }.theme-options button.selected { color: #2e69cc; background: #f4f8ff; border-color: #9fbae8; }.theme-options button.selected > span { color: #2c6bd9; background: #e7f0ff; }
.accent-section { margin-top: 17px; padding: 15px; background: #fff; border: 1px solid #e2e7ef; border-radius: 12px; }.accent-section > div:first-child { display: flex; flex-direction: column; gap: 4px; }.accent-section b { color: #39475d; font-size: 11px; }.accent-section small { color: #929baa; font-size: 9px; }.accent-options { margin-top: 14px; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.accent-options button { position: relative; min-width: 0; min-height: 62px; padding: 7px 4px 5px; display: grid; grid-template-rows: 27px auto; place-items: center; gap: 3px; color: #fff; background: #f7f8fb; border: 2px solid transparent; border-radius: 11px; }.accent-options button > span { width: 25px; height: 25px; display: block; border-radius: 8px; box-shadow: 0 3px 9px rgba(31,45,74,.15); }.accent-options button > em { min-width: 0; color: #687489; font-size: 9px; font-style: normal; white-space: nowrap; }.accent-options button > svg { position: absolute; top: 12px; color: #fff; }.accent-options .sky > span { background: #1687ff; }.accent-options .blue > span { background: #2563eb; }.accent-options .green > span { background: #138a68; }.accent-options .violet > span { background: #7956d8; }.accent-options .orange > span { background: #d76b25; }.accent-options button.selected { border-color: var(--blue); background: var(--blue-soft); }.accent-options button.selected > em { color: var(--blue-dark); font-weight: 700; }
:root[data-accent='blue'] { --blue:#2563eb;--blue-dark:#1e4fc2;--blue-soft:#eaf1ff;--accent-start:#3977ed;--accent-end:#1d4fbd;--sidebar-start:#17377c;--sidebar-end:#102653;--sidebar-active-start:#2e68db;--sidebar-active-end:#3478f6;--sidebar-marker:#74a6ff;--chart-primary:#3270e5; }
:root[data-accent='sky'] { --blue:#1687ff;--blue-dark:#0873df;--blue-soft:#e8f4ff;--accent-start:#32a1ff;--accent-end:#0873df;--sidebar-start:#238fe8;--sidebar-end:#0870c9;--sidebar-active-start:#56b3ff;--sidebar-active-end:#1687ff;--sidebar-marker:#b9e1ff;--chart-primary:#1687ff; }
:root[data-accent='green'] { --blue:#138a68;--blue-dark:#0e6b51;--blue-soft:#e5f5ef;--accent-start:#21a47d;--accent-end:#0e6b51;--sidebar-start:#198563;--sidebar-end:#0b5d47;--sidebar-active-start:#2db88e;--sidebar-active-end:#15906d;--sidebar-marker:#8ee4c6;--chart-primary:#138a68; }
:root[data-accent='violet'] { --blue:#7956d8;--blue-dark:#6241be;--blue-soft:#f0ebff;--accent-start:#8b68e5;--accent-end:#6241be;--sidebar-start:#7550c8;--sidebar-end:#4d3297;--sidebar-active-start:#9a7aeb;--sidebar-active-end:#7956d8;--sidebar-marker:#d1c3ff;--chart-primary:#7956d8; }
:root[data-accent='orange'] { --blue:#ff8708;--blue-dark:#dc6900;--blue-soft:#fff1df;--accent-start:#ff9b19;--accent-end:#ef7200;--sidebar-start:#ff970f;--sidebar-end:#eb6f00;--sidebar-active-start:#ffb039;--sidebar-active-end:#ff8708;--sidebar-marker:#fff0bd;--chart-primary:#ff8708; }
:root .primary-button { background: linear-gradient(135deg,var(--accent-start),var(--accent-end)); box-shadow: 0 8px 18px color-mix(in srgb,var(--blue) 25%,transparent); }
:root .primary-button:hover { background: linear-gradient(135deg,color-mix(in srgb,var(--accent-start) 88%,white),var(--accent-end)); }
:root .login-art { background: linear-gradient(145deg,var(--sidebar-start),var(--sidebar-end)); }
:root .legend-sales { background:var(--chart-primary); }
:root .sales-line { stroke:var(--chart-primary); }

.page-area { min-height: calc(100vh - 120px); }
.page { max-width: 1540px; margin: 0 auto; padding: 30px 32px 48px; }
.eyebrow { margin-bottom: 7px; color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light { color: #a9c5ff; }
h1, h2, h3, p { margin-top: 0; }
.welcome-row { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 25px; }
.welcome-row h1, .page-heading h1, .module-hero h1 { margin-bottom: 7px; color: #16213a; font-size: 29px; line-height: 1.15; letter-spacing: -.025em; }
.welcome-row p, .page-heading p, .module-hero p { margin-bottom: 0; color: #7a8397; font-size: 13px; }
.welcome-row p b { color: #e45d51; }
.primary-button, .secondary-button, .danger-button { height: 40px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.primary-button { color: #fff; background: linear-gradient(135deg, #2e6ce6, #2258cb); border: 0; box-shadow: 0 8px 18px rgba(37,99,235,.2); }
.primary-button:hover { background: linear-gradient(135deg, #3977ed, #1d4fbd); transform: translateY(-1px); }
.secondary-button { color: #536078; background: #fff; border: 1px solid #dfe3eb; }
.secondary-button:hover { color: var(--blue); border-color: #a8c2f5; }
.danger-button { color: #c33f3f; background: #fff5f5; border: 1px solid #f1caca; }.danger-button:hover { color: #a82424; border-color: #e9a7a7; }
.secondary-button.compact { height: 34px; padding-inline: 11px; }

.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 16px; }
.quick-card { min-height: 82px; padding: 15px; display: flex; align-items: center; gap: 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 3px 12px rgba(30,44,80,.03); text-align: left; transition: .18s ease; }
.quick-card:hover { border-color: #c9d8f6; box-shadow: var(--shadow); transform: translateY(-2px); }
.quick-icon, .stat-icon, .todo-icon { display: grid; place-items: center; border-radius: 11px; }
.quick-icon { width: 44px; height: 44px; }
.quick-icon.blue, .stat-icon.blue, .todo-icon.blue { color: #2f6be1; background: #eaf1ff; }
.quick-icon.orange, .stat-icon.orange, .todo-icon.orange { color: #d88722; background: #fff3df; }
.quick-icon.green, .stat-icon.green, .todo-icon.green { color: #169873; background: #e6f8f1; }
.quick-icon.violet, .stat-icon.violet, .todo-icon.violet { color: #7658d9; background: #f0ebff; }
.quick-card > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.quick-card b { font-size: 13px; }
.quick-card small { color: #959dae; font-size: 10px; }
.quick-card > svg { color: #aab1bf; }

.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 16px; }
.stat-card { min-height: 135px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.stat-head { display: flex; justify-content: space-between; align-items: center; color: #737c90; font-size: 12px; }
.stat-icon { width: 34px; height: 34px; }
.stat-card strong { display: block; margin: 15px 0 8px; color: #17223c; font-size: 25px; line-height: 1; letter-spacing: -.02em; }
.stat-card small { color: #18a175; font-size: 10px; }
.stat-card small span { margin-left: 4px; color: #a0a7b5; }

.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 16px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: 15px; }
.panel-head, .table-toolbar { min-height: 60px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eef0f4; }
.panel-head h2 { margin: 0; font-size: 14px; }
.panel-head button { min-height: 44px; padding: 0 4px; display: flex; align-items: center; gap: 3px; color: #8390a5; background: transparent; border: 0; font-size: 10px; }
.todo-list { padding: 5px 12px 10px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 12px; }
.todo-item { width: 100%; min-height: 62px; padding: 8px; display: flex; align-items: center; gap: 11px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid #f0f2f5; text-align: left; }
.todo-item:last-child { border-bottom: 0; }
.todo-item:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
.todo-item:hover { background: #fafbfe; border-radius: 10px; }
.todo-icon { width: 37px; height: 37px; flex: 0 0 auto; }
.todo-item > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.todo-item b { font-size: 12px; }
.todo-item small, .todo-item time { color: #99a1b0; font-size: 9px; }
.todo-item > svg { color: #b1b7c3; }
.dashboard-loading { min-height: 220px; display: grid; place-items: center; color: #8d97a8; font-size: 11px; }
.chart-panel { position: relative; padding-bottom: 10px; overflow: hidden; }
.legend { position: absolute; top: 22px; right: 120px; display: flex; gap: 12px; color: #8f97a7; font-size: 9px; }
.legend span { display: flex; align-items: center; gap: 5px; }
.legend i { width: 7px; height: 7px; border-radius: 50%; }
.legend-sales { background: #2563eb; }.legend-profit { background: #20b486; }
.mini-chart { padding: 17px 18px 0; }
.mini-chart svg { width: 100%; height: 178px; overflow: visible; }
.grid-lines line { stroke: #eef1f5; stroke-width: 1; }
.chart-area { fill: url(#salesFill); }
.sales-line { fill: none; stroke: #3270e5; stroke-width: 3; stroke-linecap: round; }
.profit-line { fill: none; stroke: #23b68a; stroke-width: 2; stroke-dasharray: 5 5; stroke-linecap: round; }
.chart-labels { display: flex; justify-content: space-between; color: #a2a9b6; font-size: 8px; }
.chart-summary { margin: 16px 18px 0; padding: 13px; display: flex; align-items: center; gap: 28px; background: #f7f9fc; border-radius: 11px; }
.chart-summary div { display: flex; flex-direction: column; gap: 4px; }
.chart-summary small { color: #959eaf; font-size: 8px; }
.chart-summary b { font-size: 12px; }
.chart-summary > span { margin-left: auto; padding: 6px 9px; color: #169873; background: #e6f8f1; border-radius: 7px; font-size: 9px; }

.dashboard-page { max-width:1600px;margin:0 auto; }
.dashboard-module-grid { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start; }
.dashboard-module-slot { min-width:0; }
.dashboard-slot-quick { grid-column:1/-1; }
.dashboard-slot-todos,.dashboard-slot-operations,.dashboard-slot-sales,.dashboard-slot-finance,.dashboard-slot-ranking { grid-column:span 8; }
.dashboard-slot-alerts,.dashboard-slot-inventory,.dashboard-slot-updates,.dashboard-slot-consignment,.dashboard-slot-help { grid-column:span 4; }
.dashboard-module { min-height:100%;overflow:hidden;border-radius:18px;box-shadow:0 8px 26px rgba(31,48,78,.055); }
.dashboard-module .panel-head h2 { display:flex;align-items:center;gap:10px;font-size:16px; }
.dashboard-module .panel-head h2::before { content:'';width:4px;height:18px;background:var(--blue);border-radius:99px; }
.dashboard-quick-grid { padding:22px 24px 26px;display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:18px 14px; }
.dashboard-quick-card { min-width:0;min-height:112px;padding:11px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:15px;text-align:center;transition:.16s ease; }
.dashboard-quick-card:hover { color:var(--blue);border-color:color-mix(in srgb,var(--blue) 30%,var(--line));background:var(--blue-soft);transform:translateY(-2px); }
.dashboard-quick-card b { max-width:100%;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.dashboard-quick-card small { color:var(--muted);font-size:10px;white-space:nowrap; }
.dashboard-quick-card .quick-icon { width:54px;height:54px;color:#fff;box-shadow:0 9px 20px rgba(40,73,125,.16); }
.dashboard-quick-card .quick-icon.blue,.dashboard-shortcut-picker .quick-icon.blue { color:#fff;background:linear-gradient(145deg,#4d78ef,#5d66db); }
.dashboard-quick-card .quick-icon.cyan,.dashboard-shortcut-picker .quick-icon.cyan { color:#fff;background:linear-gradient(145deg,#12b8d5,#27c7ca); }
.dashboard-quick-card .quick-icon.violet,.dashboard-shortcut-picker .quick-icon.violet { color:#fff;background:linear-gradient(145deg,#8b66ed,#a475ee); }
.dashboard-quick-card .quick-icon.orange,.dashboard-shortcut-picker .quick-icon.orange { color:#fff;background:linear-gradient(145deg,#f3a40c,#ffbd42); }
.dashboard-quick-card .quick-icon.green,.dashboard-shortcut-picker .quick-icon.green { color:#fff;background:linear-gradient(145deg,#08bf78,#12db89); }
.dashboard-quick-card .quick-icon.red,.dashboard-shortcut-picker .quick-icon.red { color:#fff;background:linear-gradient(145deg,#ff666b,#ff7b79); }
.dashboard-quick-card .quick-icon.add { color:var(--blue);background:transparent;border:2px dashed color-mix(in srgb,var(--blue) 55%,var(--line));box-shadow:none; }
.dashboard-quick-add { color:var(--blue);background:color-mix(in srgb,var(--blue-soft) 46%,transparent);border-color:color-mix(in srgb,var(--blue) 18%,var(--line));border-style:dashed; }
.dashboard-metric-grid { padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px; }
.dashboard-stack-metrics { padding:14px;display:grid;gap:10px; }
.dashboard-metric { min-width:0;min-height:96px;padding:15px;display:flex;align-items:flex-start;gap:11px;background:var(--surface-soft);border:1px solid var(--line);border-radius:13px; }
.dashboard-metric>span { width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:var(--blue-soft);border-radius:11px; }
.dashboard-metric>div { min-width:0;display:flex;flex-direction:column;gap:4px; }
.dashboard-metric small { color:var(--muted);font-size:10px; }.dashboard-metric b { color:var(--ink);font-size:18px;overflow-wrap:anywhere; }.dashboard-metric em { color:var(--muted);font-size:9px;font-style:normal;line-height:1.45; }
.dashboard-ranking { padding:8px 18px 16px;display:grid; }
.dashboard-ranking article { min-height:62px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line); }
.dashboard-ranking article:last-child { border-bottom:0; }.dashboard-ranking em { width:25px;height:25px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:8px;font-size:11px;font-style:normal;font-weight:700; }.dashboard-ranking span { min-width:0;display:flex;flex-direction:column;gap:3px; }.dashboard-ranking b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px; }.dashboard-ranking small { color:var(--muted);font-size:9px; }.dashboard-ranking strong { color:var(--ink);font-size:12px; }
.dashboard-side-list { padding:8px 12px 14px;display:grid;gap:5px; }.dashboard-side-list button { min-height:58px;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;color:var(--blue);background:transparent;border:0;border-bottom:1px solid var(--line);text-align:left; }.dashboard-side-list button:hover { background:var(--blue-soft);border-radius:10px; }.dashboard-side-list button span { min-width:0;display:flex;flex-direction:column;gap:3px; }.dashboard-side-list b { color:var(--ink);font-size:11px; }.dashboard-side-list small { color:var(--muted);font-size:9px; }
.dashboard-empty-small { min-height:120px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:10px;text-align:center; }
.dashboard-info-card { margin:14px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px; }.dashboard-info-card b { font-size:13px; }.dashboard-info-card p { margin:0;color:var(--muted);font-size:10px; }
.dashboard-help-links { padding:12px;display:grid;gap:7px; }.dashboard-help-links button { min-height:44px;padding:0 11px;display:flex;align-items:center;gap:9px;color:var(--blue);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;text-align:left; }.dashboard-help-links button:hover { border-color:var(--blue);background:var(--blue-soft); }
.dashboard-settings-fab { position:fixed;right:24px;bottom:24px;z-index:28;min-height:46px;padding:0 16px;display:flex;align-items:center;gap:8px;color:#fff;background:linear-gradient(135deg,var(--accent-start),var(--accent-end));border:0;border-radius:24px;box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 35%,transparent);font-weight:700; }
.dashboard-settings-dialog { width:min(620px,calc(100vw - 32px));max-height:780px;display:flex;flex-direction:column;overflow:hidden; }
.dashboard-shortcut-dialog { width:min(1180px,calc(100vw - 36px));max-width:1180px;height:min(800px,calc(100vh - 36px));padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:16px; }
.dashboard-shortcut-dialog>.dialog-head { flex:0 0 auto;margin:0;padding:22px 24px 17px;border-bottom:1px solid var(--line); }
.dashboard-shortcut-dialog>.dialog-head p { margin:7px 0 0;color:var(--muted);font-size:11px; }
.dashboard-shortcut-toolbar { flex:0 0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-soft);border-bottom:1px solid var(--line); }
.dashboard-shortcut-toolbar label { width:min(430px,100%);height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:10px; }
.dashboard-shortcut-toolbar input { width:100%;min-width:0;color:var(--ink);background:transparent;border:0;outline:0;font-size:12px; }
.dashboard-shortcut-toolbar>span { color:var(--muted);font-size:11px;white-space:nowrap; }.dashboard-shortcut-toolbar>span b { color:var(--blue);font-size:14px; }
.dashboard-shortcut-groups { min-height:0;flex:1;padding:4px 24px 24px;overflow:auto;scrollbar-gutter:stable; }
.dashboard-shortcut-groups>section { padding:18px 0 20px;border-bottom:1px solid var(--line); }.dashboard-shortcut-groups>section:last-child { border-bottom:0; }
.dashboard-shortcut-groups h3 { margin:0 0 14px;padding-left:11px;position:relative;color:var(--ink);font-size:14px; }.dashboard-shortcut-groups h3::before { content:'';position:absolute;left:0;top:1px;width:4px;height:18px;background:#15c2c7;border-radius:4px; }
.dashboard-shortcut-picker { display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:18px 12px; }
.dashboard-shortcut-picker>button { min-width:0;min-height:88px;padding:7px 3px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:13px; }
.dashboard-shortcut-picker>button:hover,.dashboard-shortcut-picker>button.selected { background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 25%,var(--line)); }
.dashboard-shortcut-picker>button b { width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500; }
.dashboard-shortcut-picker .quick-icon { position:relative;width:52px;height:52px;border-radius:13px;box-shadow:0 8px 16px rgba(40,73,125,.14); }
.dashboard-shortcut-picker .quick-icon i { position:absolute;top:-7px;right:-7px;width:21px;height:21px;display:grid;place-items:center;color:#fff;background:#419af2;border:2px solid var(--surface);border-radius:50%;font-style:normal; }
.dashboard-shortcut-picker>button.selected .quick-icon i { background:#92979e; }
.dashboard-shortcut-dialog>.form-error { flex:0 0 auto;margin:0 24px 9px; }
.dashboard-shortcut-dialog>.dialog-footer { flex:0 0 auto;margin:0;padding:14px 24px;border-top:1px solid var(--line);background:var(--surface); }
.dashboard-layout-list { min-height:0;display:grid;align-content:start;grid-auto-rows:max-content;gap:8px;overflow:auto;padding-right:3px; }.dashboard-layout-list article { min-height:66px;padding:9px 11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:11px;transition:.15s ease; }.dashboard-layout-list article.dragging { opacity:.5;border-color:var(--blue); }.dashboard-layout-list article>svg { color:var(--muted);cursor:grab; }.dashboard-layout-list article>span { min-width:0;display:flex;flex-direction:column;gap:4px; }.dashboard-layout-list article b { font-size:12px; }.dashboard-layout-list article small { color:var(--muted);font-size:9px; }
.dashboard-order-buttons { display:flex;gap:4px; }.dashboard-order-buttons button { width:32px;height:32px;padding:0;display:grid;place-items:center;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px; }.dashboard-order-buttons button:hover:not(:disabled) { color:var(--blue);border-color:var(--blue); }.dashboard-order-buttons button:disabled { cursor:default;opacity:.32; }
.dashboard-visibility-switch { position:relative;width:44px;height:25px; }.dashboard-visibility-switch input { position:absolute;opacity:0;pointer-events:none; }.dashboard-visibility-switch span { position:absolute;inset:0;background:#cfd5df;border-radius:20px;transition:.16s ease; }.dashboard-visibility-switch span::after { content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.16s ease; }.dashboard-visibility-switch input:checked+span { background:var(--blue); }.dashboard-visibility-switch input:checked+span::after { transform:translateX(19px); }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; }
.heading-actions { display: flex; gap: 9px; }
.view-tabs { display: flex; gap: 5px; margin-bottom: 13px; }
.view-tabs button { padding: 9px 15px; color: #7d8698; background: transparent; border: 0; border-radius: 9px; font-size: 12px; }
.view-tabs button.active { color: var(--blue); background: #e8f0ff; font-weight: 600; }
.filter-panel { margin-bottom: 13px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.filter-main { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(2, minmax(150px, .7fr)) auto; gap: 10px; }
.search-field { height: 40px; padding: 0 11px; display: flex; align-items: center; gap: 8px; color: #8791a4; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.search-field input { width: 100%; background: transparent; border: 0; outline: 0; font-size: 12px; }
.filter-main select, .form-grid select, .form-grid input, .form-grid textarea { color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; }
.filter-main select { height: 40px; padding: 0 10px; font-size: 11px; }
.filter-button { height: 40px; padding: 0 13px; display: flex; align-items: center; gap: 6px; color: #667188; background: #fff; border: 1px solid #dfe3ea; border-radius: 9px; font-size: 11px; }
.inventory-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 13px; }
.metric { position: relative; min-height: 74px; padding: 14px 16px; display: flex; flex-direction: column; gap: 7px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.metric::after { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: currentColor; }
.metric span { color: #8a93a5; font-size: 10px; }.metric b { color: #202a40; font-size: 17px; }
.metric.blue { color: #2c6de4; }.metric.orange { color: #e18a28; }.metric.green { color: #17a177; }.metric.violet { color: #7659dc; }
.inventory-table-panel { overflow: hidden; }
.table-toolbar > div { display: flex; align-items: center; gap: 8px; }
.table-toolbar b { font-size: 13px; }.table-toolbar span { color: #9aa2b1; font-size: 10px; }
.inventory-table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 1000px; border-collapse: collapse; }
th { position: sticky; top: 0; z-index: 2; height: 46px; color: #7c8597; background: #f7f8fb; font-size: 10px; font-weight: 600; text-align: left; white-space: nowrap; }
td { height: 63px; color: #596378; border-top: 1px solid #eef0f3; font-size: 11px; white-space: nowrap; }
th, td { padding: 0 14px; }
tbody tr { transition: background .14s ease; }.inventory-table-wrap tbody tr:hover { background: #fafcff; }
td b { display: block; margin-bottom: 4px; color: #2b3448; font-size: 11px; }
td small { color: #9aa1af; font-size: 9px; }
.number { text-align: right; }.mono { color: #68738b; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; }
.text-link { padding: 0; color: var(--blue); background: transparent; border: 0; font-size: 10px; }
.status-badge { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 7px; font-size: 9px; font-weight: 600; }
.status-badge.amber { color: #b86e13; background: #fff1d9; }.status-badge.blue { color: #2361d2; background: #e8f0ff; }.status-badge.green { color: #138562; background: #e4f7ef; }.status-badge.violet { color: #6b4bc9; background: #efeaff; }.status-badge.red { color: #c53f45; background: #ffebec; }.status-badge.gray { color: #667085; background: #eef1f5; }
.api-notice { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 11px 14px; border: 1px solid #ffd9a3; border-radius: 10px; color: #9a5b09; background: #fff8e8; font-size: 11px; }
button:disabled { cursor: wait; opacity: .62; }
.inventory-detail-dialog { width: min(680px, calc(100vw - 30px)); max-height: min(760px, calc(100vh - 30px)); overflow: auto; }
.inventory-detail-dialog .dialog-head p { margin: 5px 0 0; color: #8a93a4; font-size: 10px; }
.detail-summary { display: grid; grid-template-columns: auto repeat(3, 1fr); align-items: center; gap: 14px; margin-bottom: 18px; padding: 16px; border: 1px solid #e8ebf0; border-radius: 12px; background: #fafbfc; }
.detail-summary div { display: flex; flex-direction: column; gap: 3px; }.detail-summary small { color: #929aab; font-size: 9px; }.detail-summary b { color: #343b48; font-size: 11px; }
.transition-box { margin-bottom: 16px; padding: 15px; border: 1px solid #dce7fb; border-radius: 12px; background: #f6f9ff; }
.transition-box > b { display: block; margin-bottom: 10px; font-size: 11px; }.transition-box > div { display: grid; grid-template-columns: 130px 1fr auto; gap: 8px; }
.transition-box select, .transition-box input { min-width: 0; height: 38px; padding: 0 10px; border: 1px solid #dce1e9; border-radius: 8px; background: white; font: inherit; font-size: 10px; }
.history-list { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }.history-list > b { font-size: 12px; }
.history-item { display: flex; gap: 11px; padding: 2px 0 12px; border-bottom: 1px solid #edf0f4; }.history-item i { flex: 0 0 auto; width: 9px; height: 9px; margin-top: 4px; border: 2px solid #fff; border-radius: 50%; background: #3d72dc; box-shadow: 0 0 0 2px #cad9f7; }
.history-item div { display: flex; flex-direction: column; gap: 3px; }.history-item strong { font-size: 10px; }.history-item span, .history-item p, .empty-history { margin: 0; color: #9098a8; font-size: 9px; }
.empty-state { padding: 50px; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #a1a8b5; }.empty-state b { color: #626b7d; font-size: 13px; }.empty-state span { font-size: 10px; }
.mobile-inventory-list { display: none; }
.task-management-page .heading-actions { display: flex; gap: 8px; }
.task-filter .filter-main { grid-template-columns: minmax(280px, 1.5fr) repeat(4, minmax(125px, .7fr)); align-items: end; }
.task-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.task-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.task-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; }
.task-center-list table { min-width: 1600px; }
.task-center-list td:nth-child(9) { max-width: 250px; line-height: 1.55; }
.task-center-card { border-color: #dfe5ef; box-shadow: 0 5px 18px rgba(31,50,84,.05); }
.task-center-card > div:first-child { gap: 8px; }
.task-center-card > p { overflow-wrap: anywhere; }
.task-center-card > button { width: 100%; min-height: 40px; margin-top: 13px; justify-content: center; }
.task-transfer-dialog .dialog-head p { margin: 6px 0 0; color: #7e899c; font-size: 10px; line-height: 1.6; }
.task-transfer-dialog textarea { min-height: 110px; line-height: 1.6; }
.task-transfer-dialog select:focus, .task-transfer-dialog textarea:focus { border-color: #7da4ef; outline: 0; box-shadow: 0 0 0 3px #edf3ff; }

.purchase-filter .filter-main { grid-template-columns: minmax(260px, 1.5fr) minmax(140px, .6fr) minmax(140px, .6fr) auto; }
.purchase-table-panel table { min-width: 1050px; }
.purchase-detail-dialog { width: min(780px, calc(100vw - 30px)); max-height: min(820px, calc(100vh - 30px)); overflow: auto; }
.purchase-detail-dialog .dialog-head p { margin: 5px 0 0; color: #8a93a4; font-size: 10px; }
.purchase-info-grid { margin: -4px 0 16px; padding: 14px 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: #fafbfc; border: 1px solid #edf0f4; border-radius: 12px; }
.purchase-info-grid div { display: flex; flex-direction: column; gap: 4px; }.purchase-info-grid .full { grid-column: 1 / -1; }.purchase-info-grid small { color: #929aab; font-size: 9px; }.purchase-info-grid b { color: #4a5365; font-size: 11px; font-weight: 600; }
.purchase-detail-section { margin-top: 18px; }.purchase-detail-section > b { display: block; margin-bottom: 10px; font-size: 12px; }
.purchase-items { overflow: hidden; border: 1px solid #e8ebf0; border-radius: 11px; }
.purchase-items > div { min-height: 46px; padding: 8px 12px; display: grid; grid-template-columns: 1.5fr 1.2fr .35fr .55fr; align-items: center; gap: 12px; border-top: 1px solid #eef0f4; color: #667085; font-size: 10px; }
.purchase-items > div:first-child { border-top: 0; }.purchase-items .purchase-items-head { min-height: 34px; color: #8d96a7; background: #f7f8fb; font-size: 9px; font-weight: 600; }
.purchase-items span { min-width: 0; }.purchase-items span > b, .purchase-items span > small { display: block; }.purchase-items span > b { color: #3c4659; font-size: 10px; }.purchase-items span > small { margin-top: 3px; color: #9aa1af; font-size: 8px; }

.receiving-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 15px; margin-bottom: 15px; }
.receiving-form, .receiving-summary { overflow: hidden; }
.receiving-step { padding: 4px 8px; color: #5374ad; background: #eef4ff; border-radius: 8px; font-size: 9px; font-weight: 700; }
.receiving-fields { padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.receiving-fields label { min-width: 0; display: flex; flex-direction: column; gap: 7px; }.receiving-fields label.full { grid-column: 1 / -1; }.receiving-fields label > span { color: #5a6478; font-size: 10px; font-weight: 600; }
.receiving-fields input, .receiving-fields select { width: 100%; min-width: 0; height: 42px; padding: 0 11px; color: #394357; background: #fff; border: 1px solid #dfe4ec; border-radius: 9px; outline: none; font-size: 11px; }.receiving-fields input:focus, .receiving-fields select:focus { border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.receive-imei { height: 50px; padding: 0 13px; display: flex; align-items: center; gap: 10px; color: var(--blue); background: #f7faff; border: 1px solid #bcd0f5; border-radius: 11px; }.receive-imei:focus-within { border-color: #4f82e5; box-shadow: 0 0 0 3px #eaf1ff; }.receive-imei input { height: auto; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none !important; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; letter-spacing: .05em; }.receive-imei em { color: #9ca7b9; font-size: 9px; font-style: normal; }
.money-input { position: relative; }.money-input > span { position: absolute; z-index: 1; top: 50%; left: 11px; color: #7e8799; font-size: 11px; transform: translateY(-50%); }.money-input input { padding-left: 27px; }
.receive-submit { width: calc(100% - 40px); height: 44px; margin: 0 20px 20px; justify-content: center; }
.receiving-order-card { padding: 20px; }.receiving-order-card > div:first-child { display: flex; align-items: center; justify-content: space-between; }.receiving-order-card > div:first-child small { color: #8f98a9; font-size: 9px; }.receiving-order-card h2 { margin: 18px 0 6px; color: #283348; font-size: 18px; }.receiving-order-card > p { margin: 0; color: #8992a3; font-size: 10px; }
.receiving-order-card dl { margin: 20px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.receiving-order-card dl div { padding: 13px; display: flex; flex-direction: column; gap: 6px; background: #f7f9fc; border-radius: 10px; }.receiving-order-card dt { color: #99a1b0; font-size: 9px; }.receiving-order-card dd { margin: 0; color: #344057; font-size: 15px; font-weight: 700; }
.receiving-tip { margin-top: 16px; padding: 13px; display: flex !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 10px; color: #4770ba; background: #eef4ff; border-radius: 10px; }.receiving-tip > span { display: flex; flex-direction: column; gap: 3px; }.receiving-tip b { color: #3a5f9f; font-size: 10px; }.receiving-tip small { color: #7089b6; font-size: 9px; line-height: 1.5; }
.received-list { overflow: hidden; }.received-items { display: flex; flex-direction: column; }.received-items article { min-height: 66px; padding: 10px 20px; display: grid; grid-template-columns: auto minmax(180px, 1fr) auto 120px 90px; align-items: center; gap: 14px; border-top: 1px solid #eef0f4; }.received-check { width: 30px; height: 30px; display: grid; place-items: center; color: #198462; background: #e6f7f0; border-radius: 9px; }.received-items article > div { display: flex; flex-direction: column; gap: 4px; }.received-items article b { color: #354057; font-size: 11px; }.received-items article small { color: #929baa; font-size: 9px; }.received-items article strong { color: #556178; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10px; }.received-items article em { color: #4f596b; font-size: 10px; font-style: normal; font-weight: 600; text-align: right; }.received-empty { min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #a0a9ba; font-size: 10px; }
.receiving-error { margin-bottom: 15px; }

.distribution-error { margin-bottom: 15px; }
.distribution-success { min-height: 58px; margin-bottom: 15px; padding: 12px 15px; display: flex; align-items: center; gap: 11px; color: #18805f; background: #eaf8f2; border: 1px solid #ccecdf; border-radius: 12px; }.distribution-success div { display: flex; flex-direction: column; gap: 3px; }.distribution-success b { font-size: 11px; }.distribution-success span { color: #609180; font-size: 9px; }
.distribution-controls { margin-bottom: 15px; padding: 16px; }.distribution-scan { display: flex; gap: 9px; }.distribution-scan label { flex: 1; height: 44px; padding: 0 12px; display: flex; align-items: center; gap: 9px; color: var(--blue); background: #f7faff; border: 1px solid #c9d9f6; border-radius: 10px; }.distribution-scan input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-size: 11px; }
.distribution-assignment { margin-top: 14px; display: grid; grid-template-columns: 180px 180px minmax(220px, 1fr); gap: 12px; }.distribution-assignment label { min-width: 0; display: flex; flex-direction: column; gap: 6px; }.distribution-assignment label > span { color: #626d80; font-size: 9px; font-weight: 600; }.distribution-assignment select, .distribution-assignment input { width: 100%; min-width: 0; height: 39px; padding: 0 10px; color: #455065; background: #fff; border: 1px solid #dfe4ec; border-radius: 8px; outline: 0; font-size: 10px; }.distribution-assignment select:focus, .distribution-assignment input:focus { border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.distribution-metrics { margin-top: 0; }.distribution-list { overflow: hidden; }.distribution-list table { min-width: 900px; }.distribution-list tr { cursor: pointer; }.distribution-list tbody tr:hover { background: #f8faff; }.distribution-list tbody tr.selected { background: #f0f5ff; }.select-cell { width: 44px; text-align: center; }.select-cell input { width: 15px; height: 15px; accent-color: var(--blue); }
.distribution-checkbox { width: 24px; height: 24px; display: grid; place-items: center; color: #fff; background: #e6eaf1; border: 1px solid #d7dde8; border-radius: 7px; }.distribution-card.selected { border-color: #7ba3ef; background: #f5f8ff; box-shadow: 0 0 0 2px #e5eeff; }.distribution-card.selected .distribution-checkbox { background: var(--blue); border-color: var(--blue); }
.distribution-mobile-action { display: none; }
.distribution-record-list { overflow: hidden; }.distribution-record-list > article { min-height: 94px; padding: 15px 20px; display: grid; grid-template-columns: auto minmax(180px, .8fr) minmax(500px, 1.8fr); align-items: center; gap: 14px; border-top: 1px solid #edf0f4; }.distribution-record-icon { width: 38px; height: 38px; display: grid; place-items: center; color: #4674cb; background: #edf3ff; border-radius: 11px; }.distribution-record-list article > div { display: flex; flex-direction: column; gap: 5px; }.distribution-record-list article > div b { color: #354057; font-size: 11px; }.distribution-record-list article > div small { max-width: 260px; overflow: hidden; color: #919aaa; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.distribution-record-list dl { margin: 0; display: grid; grid-template-columns: .5fr .8fr .8fr 1.4fr; gap: 12px; }.distribution-record-list dl div { display: flex; flex-direction: column; gap: 4px; }.distribution-record-list dt { color: #9aa2b1; font-size: 8px; }.distribution-record-list dd { margin: 0; color: #4e586c; font-size: 10px; font-weight: 600; }.distribution-record-list article > p { grid-column: 2 / -1; margin: -4px 0 0; color: #8b95a7; font-size: 9px; }

.quality-filter .filter-main { grid-template-columns: minmax(260px, 1fr) 180px; }.quality-advanced-filter .filter-main { grid-template-columns: repeat(4, minmax(0, 1fr)); }.quality-advanced-filter .search-field { grid-column: span 2; }.quality-advanced-filter .filter-main > label:not(.search-field) { display: grid; gap: 5px; color: #737e91; font-size: 11px; }.quality-stage-tabs { overflow-x: auto; scrollbar-width: thin; }.quality-stage-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; white-space: nowrap; }.quality-stage-tabs button span { display: grid; min-width: 23px; height: 23px; padding: 0 6px; place-items: center; border-radius: 999px; color: #637087; background: #edf1f7; font-size: 11px; }.quality-stage-tabs button.active span { color: var(--blue); background: rgba(37,99,235,.12); }.quality-workbench-page .heading-actions { display: flex; gap: 8px; }.quality-list table { min-width: 1380px; }.quality-template-tip { padding: 6px 9px; color: #5d77a8; background: #eef4ff; border-radius: 7px; font-size: 9px; }.quality-dialog { width: min(820px, calc(100vw - 30px)); }.quality-dialog .dialog-head p { margin: 5px 0 0; color: #8a93a4; font-size: 10px; }.quality-summary { grid-template-columns: auto 1fr 1fr 1fr; }
.quality-start { min-height: 112px; padding: 18px; display: flex; align-items: center; gap: 14px; color: #376bc7; background: #f3f7ff; border: 1px solid #dfe9fb; border-radius: 13px; }.quality-start > div { flex: 1; display: flex; flex-direction: column; gap: 5px; }.quality-start b { color: #34445f; font-size: 12px; }.quality-start span { color: #7b8aa3; font-size: 10px; line-height: 1.6; }
.quality-review-notice { margin-bottom: 15px; padding: 12px 14px; display: flex; align-items: flex-start; gap: 10px; color: #c16d17; background: #fff8e9; border: 1px solid #f3dfb7; border-radius: 11px; }.quality-review-notice div { display: flex; flex-direction: column; gap: 4px; }.quality-review-notice b { font-size: 10px; }.quality-review-notice span { color: #856c4f; font-size: 9px; line-height: 1.5; }
.quality-check-head { margin: 18px 0 10px; display: flex; align-items: center; justify-content: space-between; }.quality-check-head b { font-size: 12px; }.quality-check-head span { color: #8993a5; font-size: 9px; }.quality-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.quality-check { min-height: 72px; padding: 12px; background: #fafbfc; border: 1px solid #e7eaf0; border-radius: 11px; }.quality-check.abnormal { background: #fff8f7; border-color: #f2d2ce; }.quality-check > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.quality-check b { color: #465166; font-size: 10px; }.quality-check input { width: 100%; height: 34px; margin-top: 9px; padding: 0 9px; color: #596378; background: #fff; border: 1px solid #ead0cc; border-radius: 8px; outline: 0; font-size: 9px; }.quality-check p { margin: 8px 0 0; color: #a2504e; font-size: 9px; line-height: 1.5; }
.quality-result-buttons { display: flex; gap: 5px; }.quality-result-buttons button { height: 29px; padding: 0 9px; display: flex; align-items: center; gap: 4px; color: #7b8495; background: #fff; border: 1px solid #dde2e9; border-radius: 7px; font-size: 9px; }.quality-result-buttons button:first-child.active { color: #17805e; background: #e8f8f1; border-color: #bde8d7; }.quality-result-buttons button:last-child.active { color: #c14545; background: #ffeded; border-color: #f0bcbc; }.quality-result { color: #778195; font-size: 9px; }.quality-result.abnormal { color: #c14545; }
.quality-report-fields { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.quality-report-fields label, .quality-review-input { display: flex; flex-direction: column; gap: 6px; }.quality-report-fields label > span, .quality-review-input > span { color: #606b7f; font-size: 9px; font-weight: 600; }.quality-report-fields select { height: 38px; padding: 0 9px; color: #4e596c; background: #fafbfc; border: 1px solid #e0e4ea; border-radius: 8px; outline: 0; font-size: 10px; }.quality-report-fields .full { grid-column: 1 / -1; }.quality-report-fields textarea, .quality-review-input textarea { min-height: 72px; padding: 10px; color: #4e596c; background: #fafbfc; border: 1px solid #e0e4ea; border-radius: 8px; outline: 0; resize: vertical; font-size: 10px; }.quality-report-fields label > b, .quality-report-fields label > p { min-height: 38px; margin: 0; padding: 10px; color: #4b566b; background: #f7f8fa; border-radius: 8px; font-size: 10px; }.quality-review-input { margin-top: 15px; }.quality-footer { position: sticky; bottom: -24px; margin-right: -24px; margin-left: -24px; padding: 14px 24px 0; background: linear-gradient(transparent, #fff 20%); }.quality-card-action { width: 100%; margin-top: 13px; }
.repair-filter .filter-main { grid-template-columns: minmax(280px,2fr) repeat(3,minmax(140px,1fr)) 145px 145px auto; align-items: end; }.repair-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }.repair-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }.repair-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; }.repair-list table { min-width: 1420px; }.external-repair-page .inventory-table-wrap table { min-width: 1380px; }.repair-form { display: grid; gap: 14px; }.repair-form > label { display: flex; flex-direction: column; gap: 6px; }.repair-form > label > span { color: #606b7f; font-size: 9px; font-weight: 600; }.repair-form textarea { min-height: 76px; padding: 10px; color: #4e596c; background: #fafbfc; border: 1px solid #e0e4ea; border-radius: 8px; outline: 0; resize: vertical; font-size: 10px; }.repair-form label > p { min-height: 42px; margin: 0; padding: 11px; color: #4b566b; background: #f7f8fa; border-radius: 8px; font-size: 10px; line-height: 1.6; }.repair-parts-head { display: flex; align-items: center; justify-content: space-between; }.repair-parts-head > div { display: flex; flex-direction: column; gap: 4px; }.repair-parts-head b { font-size: 11px; }.repair-parts-head span { color: #8d96a6; font-size: 8px; }
.repair-parts { overflow: hidden; border: 1px solid #e6e9ef; border-radius: 10px; }.repair-part { min-height: 46px; padding: 7px 9px; display: grid; grid-template-columns: 24px minmax(130px, 1fr) 70px 100px 80px 28px; align-items: center; gap: 7px; border-top: 1px solid #edf0f4; }.repair-part:first-child { border-top: 0; }.repair-part > span:first-child { width: 22px; height: 22px; display: grid; place-items: center; color: #63718a; background: #edf1f7; border-radius: 6px; font-size: 8px; }.repair-part input { min-width: 0; height: 32px; padding: 0 8px; color: #4e596c; background: #fafbfc; border: 1px solid #e0e4ea; border-radius: 7px; outline: 0; font-size: 9px; }.repair-part > b, .repair-part > strong { color: #34415a; font-size: 9px; }.repair-part > button { width: 27px; height: 27px; display: grid; place-items: center; color: #bd5151; background: #fff2f2; border: 0; border-radius: 7px; }.repair-part:not(:has(input)) { grid-template-columns: 24px 1fr 1fr 90px; }.repair-part:not(:has(input)) > span:nth-child(3) { color: #7d8799; font-size: 9px; }
.repair-costs { padding: 13px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; background: #f5f8fd; border-radius: 11px; }.repair-costs label, .repair-costs > div { display: flex; flex-direction: column; gap: 5px; }.repair-costs span { color: #8993a5; font-size: 8px; }.repair-costs b { color: #435068; font-size: 11px; }.repair-costs input { width: 100%; height: 32px; padding: 0 8px; color: #465268; background: #fff; border: 1px solid #dce3ed; border-radius: 7px; font-size: 9px; }.repair-costs .total { padding-left: 12px; border-left: 1px solid #dce3ed; }.repair-costs .total b { color: var(--blue); font-size: 14px; }
.sales-listing-filter { grid-template-columns: minmax(250px,1fr) 150px 130px 145px 145px auto; align-items: end; }.sales-listing-filter label:not(.search-field) { display: flex; flex-direction: column; gap: 5px; }.sales-listing-filter label:not(.search-field) span { color: #788397; font-size: 9px; }.sales-listing-filter input[type=date] { min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }.sales-listing-list table { min-width: 1400px; }.listing-price { height: 34px; min-width: 120px; padding: 0 9px; display: inline-flex; align-items: center; gap: 5px; color: #6d7890; background: #fff; border: 1px solid #dce2eb; border-radius: 8px; }.listing-price input { width: 90px; min-width: 0; border: 0; outline: 0; text-align: right; font-size: 10px; }.listing-mobile-action { margin-top: 13px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }.listing-mobile-action .listing-price { height: 40px; width: 100%; }.listing-mobile-action .listing-price input { flex: 1; text-align: left; }.listing-mobile-action .primary-button { height: 40px; }
.sales-order-list table { min-width: 1280px; }.consignment-settlement-list table { min-width: 1480px; }.sales-sync-list table { min-width: 1050px; }.sales-create-dialog .dialog-head p, .sales-order-dialog .dialog-head p { margin: 5px 0 0; color: #8a93a4; font-size: 10px; }.sales-device-head { margin: 18px 0 9px; display: flex; align-items: center; justify-content: space-between; }.sales-device-head b { font-size: 11px; }.sales-device-head span { color: #6f7e97; font-size: 9px; }.sales-device-picker { max-height: 330px; overflow: auto; display: grid; gap: 7px; }.sales-device-picker > button { min-height: 58px; padding: 9px 11px; display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 9px; color: #45516a; background: #fafbfc; border: 1px solid #e4e8ee; border-radius: 10px; text-align: left; }.sales-device-picker > button.selected { background: #f2f6ff; border-color: #8baceb; }.sales-device-picker > button.selected .distribution-checkbox { background: var(--blue); border-color: var(--blue); }.sales-device-picker > button div { display: flex; flex-direction: column; gap: 4px; }.sales-device-picker b { font-size: 10px; }.sales-device-picker small { color: #8a94a5; font-size: 8px; }.sales-device-picker strong { color: var(--blue); font-size: 11px; }
.sales-workspace-filter .filter-main { grid-template-columns: minmax(250px,1fr) 150px 145px 145px auto; align-items: end; }
.sales-workspace-filter label:not(.search-field) { display: flex; flex-direction: column; gap: 5px; }
.sales-workspace-filter label:not(.search-field) span { color: #788397; font-size: 9px; }
.sales-workspace-filter input[type=date] { min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.finance-bill-tabs { margin-top: -2px; }
.finance-bill-filter .filter-main { grid-template-columns: 160px 145px 145px auto; }
.finance-bill-filter .secondary-button { min-height: 40px; justify-self: start; }
.finance-page .table-toolbar > div { min-width: 0; flex-wrap: wrap; }
.finance-analysis-tabs { margin-bottom: 13px; padding: 8px; display: flex; flex-wrap: wrap; gap: 5px; }
.finance-analysis-tabs button { min-height: 36px; padding: 8px 12px; color: #707b90; background: transparent; border: 0; border-radius: 8px; font-size: 11px; }
.finance-analysis-tabs button.active { color: var(--blue); background: #e9f1ff; font-weight: 700; }
.finance-analysis-filter .filter-main { grid-template-columns: repeat(3,minmax(170px,1fr)); align-items: end; }
.finance-analysis-filter .filter-main > label { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.finance-analysis-filter .filter-main > label > span { color: #788397; font-size: 9px; font-weight: 600; }
.finance-analysis-filter input[type='date'], .finance-analysis-search > div { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; font-size: 11px; }
.finance-analysis-search { grid-column: span 2; }
.finance-analysis-search > div { display: flex; align-items: center; gap: 8px; }
.finance-analysis-search > div svg { flex: 0 0 auto; color: #8791a4; }
.finance-analysis-search input { width: 100%; min-width: 0; background: transparent; border: 0; outline: 0; font-size: 11px; }
.finance-analysis-filter-actions { min-height: 40px; display: flex; align-items: center; gap: 8px; }
.finance-analysis-filter-actions button { min-height: 40px; }
.finance-analysis-checks { margin-top: 12px; padding-top: 11px; display: flex; align-items: center; flex-wrap: wrap; gap: 15px; border-top: 1px solid #edf0f4; }
.finance-analysis-checks label { display: inline-flex; align-items: center; gap: 6px; color: #59657a; font-size: 10px; }
.finance-analysis-checks input { accent-color: var(--blue); }
.finance-analysis-checks > span { margin-left: auto; color: #8b95a7; font-size: 9px; }
.finance-analysis-pagination { display: flex; align-items: center; gap: 7px; }
.finance-analysis-pagination select { min-height: 34px; padding: 0 8px; color: #59657a; background: #fff; border: 1px solid #dfe4ec; border-radius: 8px; font-size: 10px; }
.finance-analysis-sort { padding: 0; color: inherit; background: transparent; border: 0; font: inherit; font-weight: 600; white-space: nowrap; }
.finance-analysis-page table { min-width: 1120px; }
.finance-analysis-page tfoot td { color: #344156; background: #f6f8fb; border-top: 1px solid #dfe4ec; font-weight: 700; }
.sales-workspace-list table { min-width: 1120px; }
.sales-detail-section { margin-top: 16px; }.sales-detail-section > b { display: block; margin-bottom: 8px; font-size: 11px; }.sales-detail-items, .sales-payments { overflow: hidden; border: 1px solid #e6eaf0; border-radius: 10px; }.sales-detail-items > div, .sales-payments > div { min-height: 52px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #edf0f4; }.sales-detail-items > div:first-child, .sales-payments > div:first-child { border-top: 0; }.sales-detail-items span, .sales-payments span { display: flex; flex-direction: column; gap: 4px; }.sales-detail-items b, .sales-payments b { color: #455169; font-size: 10px; }.sales-detail-items small, .sales-payments small { color: #8e97a8; font-size: 8px; }.sales-detail-items strong, .sales-payments strong { color: #325da9; font-size: 11px; }
.sales-payment-box { margin-top: 16px; padding: 14px; background: #f4f8ff; border: 1px solid #dce7fa; border-radius: 12px; }.sales-payment-box > b { font-size: 11px; }.sales-payment-box > div { margin: 10px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.sales-payment-box label { display: flex; flex-direction: column; gap: 5px; }.sales-payment-box label.full { grid-column: 1 / -1; }.sales-payment-box label span { color: #68758b; font-size: 8px; font-weight: 600; }.sales-payment-box input, .sales-payment-box select { height: 36px; padding: 0 9px; color: #4d596e; background: #fff; border: 1px solid #dce3ee; border-radius: 8px; outline: 0; font-size: 9px; }.sales-payment-box > button { width: 100%; }

.module-hero { min-height: 150px; padding: 24px; display: flex; align-items: center; gap: 17px; background: linear-gradient(120deg, #fff, #f1f6ff); border: 1px solid #e1e8f5; border-radius: 18px; }
.module-title-icon { width: 56px; height: 56px; display: grid; place-items: center; color: #2e6bdf; background: #e7efff; border-radius: 16px; }
.module-hero > div:nth-child(2) { flex: 1; }
.module-hero h1 { margin-bottom: 8px; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 15px 0; }
.process-card { min-height: 105px; padding: 17px; display: grid; grid-template-columns: 1fr auto; gap: 6px; color: #212c43; background: #fff; border: 1px solid var(--line); border-radius: 14px; text-align: left; }
.process-card > span { color: #b2bac9; font-size: 10px; }.process-card > b { grid-column: 1; font-size: 13px; }.process-card > small { grid-column: 1; color: #939cad; font-size: 9px; }.process-card > svg { grid-column: 2; grid-row: 1 / 4; align-self: center; color: #a9b0bf; }
.module-list { min-height: 300px; }
.placeholder-list { padding: 5px 20px; }.placeholder-list > div { height: 54px; display: grid; grid-template-columns: 2fr 1fr .5fr; align-items: center; gap: 60px; border-bottom: 1px solid #f0f2f5; }
.skeleton { height: 8px; background: #eef1f5; border-radius: 5px; }.skeleton.wide { width: 70%; }.skeleton.short { width: 65%; }
.module-note { margin: 22px; padding: 15px; display: flex; align-items: center; gap: 11px; color: #6282bd; background: #f0f5ff; border-radius: 11px; }
.module-note div { display: flex; flex-direction: column; gap: 4px; }.module-note b { color: #335b9c; font-size: 11px; }.module-note span { font-size: 9px; }
.batch-bind-pending-page { display: flex; flex-direction: column; gap: 16px; }
.batch-bind-pending-page .page-heading { margin-bottom: 0; }
.batch-bind-pending-page .page-heading > .status-badge { flex: 0 0 auto; min-height: 30px; padding: 7px 12px; display: inline-flex; align-items: center; }
.batch-bind-scope { padding: 20px; display: flex; align-items: flex-start; gap: 14px; border-color: #f1d7a5; background: linear-gradient(135deg, #fffdf8, #fff8e9); }
.batch-bind-scope-icon { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; color: #a86a07; background: #ffedc5; border-radius: 13px; }
.batch-bind-scope b, .batch-bind-recording b { color: #27334a; font-size: 14px; }
.batch-bind-scope p { max-width: 900px; margin: 7px 0 0; color: #6f7788; font-size: 12px; line-height: 1.8; }
.batch-bind-evidence { overflow: hidden; }
.batch-bind-evidence-grid { padding: 16px 20px 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.batch-bind-evidence-grid article { min-height: 108px; padding: 15px; display: grid; grid-template-columns: 1fr auto; align-content: space-between; gap: 12px; color: #75809a; background: #f8faff; border: 1px solid #e7ecf5; border-radius: 12px; }
.batch-bind-evidence-grid article > span { color: #9ba8c0; font-size: 11px; font-weight: 700; }
.batch-bind-evidence-grid article > b { grid-column: 1 / -1; color: #34415a; font-size: 12px; line-height: 1.55; }
.batch-bind-evidence-grid article > svg { grid-column: 2; grid-row: 1; color: #92a1bc; }
.batch-bind-recording { padding: 18px 20px; display: flex; align-items: flex-start; gap: 13px; color: #3970d2; background: #f4f8ff; border-color: #dfe9fb; }
.batch-bind-recording > div { display: flex; flex-direction: column; gap: 5px; }
.batch-bind-recording span { color: #687894; font-size: 11px; line-height: 1.65; }

.dialog-backdrop { position: fixed; inset: 0; z-index: 100; padding: 18px; display: grid; place-items: center; background: rgba(13,23,43,.55); backdrop-filter: blur(5px); }
.dialog { width: min(540px, 100%); max-height: calc(100vh - 36px); overflow-y: auto; padding: 24px; background: #fff; border-radius: 20px; box-shadow: 0 24px 80px rgba(10,20,44,.25); }
.dialog-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }.dialog-head h2 { margin-bottom: 0; font-size: 20px; }
.camera-box { height: 220px; display: grid; place-items: center; align-content: center; gap: 18px; color: #91a0b9; background: radial-gradient(circle at center, #edf4ff, #f7f9fd 65%); border: 1px dashed #cbd6e8; border-radius: 15px; }
.camera-box p { margin: 0; display: flex; align-items: center; gap: 7px; font-size: 10px; }
.scan-frame { position: relative; width: 130px; height: 110px; display: grid; place-items: center; color: #3e78e8; }
.scan-frame i { position: absolute; width: 25px; height: 25px; border-color: #2f70e8; border-style: solid; }
.scan-frame i:nth-child(1) { top: 0; left: 0; border-width: 3px 0 0 3px; }.scan-frame i:nth-child(2) { top: 0; right: 0; border-width: 3px 3px 0 0; }.scan-frame i:nth-child(3) { bottom: 0; left: 0; border-width: 0 0 3px 3px; }.scan-frame i:nth-child(4) { right: 0; bottom: 0; border-width: 0 3px 3px 0; }
.manual-scan { margin-top: 12px; display: flex; gap: 8px; }.manual-scan input { flex: 1; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid #dfe4ec; border-radius: 9px; outline: 0; font-size: 11px; }.manual-scan input:focus { border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.scan-result { margin-top: 12px; padding: 16px; background: #f7f9fc; border: 1px solid #e7ebf1; border-radius: 13px; }.scan-result > div:first-child { display: flex; align-items: center; justify-content: space-between; }.scan-result small { color: #8993a8; font-size: 9px; }.scan-result h3 { margin: 12px 0 4px; font-size: 15px; }.scan-result p { color: #7c8699; font-size: 10px; }.scan-result dl { margin: 12px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }.scan-result dl div { min-width: 0; padding: 8px; background: #fff; border-radius: 8px; }.scan-result dt { color: #8b95a7; font-size: 9px; }.scan-result dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #3f4c62; font-size: 10px; font-weight: 700; }.scan-result-actions { display: flex; gap: 8px; }.scan-result-actions button { flex: 1; min-height: 44px; }
.purchase-dialog { width: min(650px, 100%); }
.purchase-workspace-list table { min-width: 1060px; }
.purchase-workspace-card > button { width: 100%; min-height: 40px; margin-top: 13px; justify-content: center; }
.purchase-workspace-empty { min-height: 220px; }
.purchase-quote-dialog .dialog-head p { margin: 6px 0 0; color: #7f899b; font-size: 10px; line-height: 1.6; }
.bargain-price-summary { margin-bottom: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.bargain-price-summary > div { min-width: 0; padding: 13px; display: flex; flex-direction: column; gap: 5px; background: #f5f8fd; border: 1px solid #e5eaf2; border-radius: 10px; }
.bargain-price-summary small { color: #9099aa; font-size: 8px; }.bargain-price-summary b { color: #35445d; font-size: 13px; }
.purchase-return-list table { min-width: 1120px; }.row-actions,.card-actions { display: flex; align-items: center; gap: 6px; }.purchase-return-card .card-actions { margin-top: 13px; }.purchase-return-card .card-actions button { flex: 1; min-height: 40px; }
.distribution-record-filter .filter-main { grid-template-columns: minmax(240px,1.4fr) 140px 140px 140px 140px auto; align-items: end; }
.distribution-pending-filter .filter-main { grid-template-columns: minmax(260px,1fr) auto; }
.distribution-record-filter label:not(.search-field) { display: grid; gap: 5px; color: #69758a; font-size: 9px; }
.distribution-record-filter input[type=date] { width: 100%; min-height: 40px; padding: 0 9px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.distribution-record-list table { min-width: 1080px; }
.distribution-item-nos { display: block; max-width: 260px; overflow-wrap: anywhere; line-height: 1.5; }
.purchase-run-list { overflow: hidden; }.purchase-run-list > article { min-height: 70px; padding: 12px 18px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; border-top: 1px solid #edf0f4; }.purchase-run-list > article > div { display: flex; flex-direction: column; gap: 4px; }.purchase-run-list article b { color: #3d4960; font-size: 11px; }.purchase-run-list article small { color: #8f99aa; font-size: 9px; line-height: 1.5; }.purchase-run-list article strong { color: #4f5d72; font-size: 10px; }.purchase-import-dialog { width: min(780px,calc(100vw - 30px)); }.purchase-import-dialog .dialog-head p { margin: 6px 0 0; color: #7f899b; font-size: 10px; }.purchase-import-editor { width: 100%; min-height: 260px; padding: 13px; color: #34435a; background: #f8f9fc; border: 1px solid #dde3eb; border-radius: 10px; outline: 0; resize: vertical; font: 10px/1.8 Consolas,monospace; }.purchase-import-editor:focus { border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.form-grid label { display: flex; flex-direction: column; gap: 7px; }.form-grid label > span { color: #5a6478; font-size: 11px; font-weight: 600; }.form-grid select, .form-grid input { height: 40px; padding: 0 11px; font-size: 11px; }.form-grid textarea { min-height: 80px; padding: 10px; resize: vertical; font-size: 11px; }.form-grid .full { grid-column: 1 / -1; }
.form-grid label.checkbox-card{min-height:58px;padding:10px 12px;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.form-grid label.checkbox-card>input{width:20px;height:20px;padding:0;flex:0 0 auto}.form-grid label.checkbox-card>span{display:flex;flex-direction:column;gap:3px}.form-grid label.checkbox-card small{color:var(--muted);font-weight:400}
.purchase-device { margin-top: 17px; padding: 13px; display: flex; align-items: center; gap: 9px; color: #5980c3; background: #f5f8fd; border-radius: 11px; }.purchase-device span { display: flex; flex-direction: column; gap: 2px; }.purchase-device b { color: #47566f; font-size: 11px; }.purchase-device small { color: #929dae; font-size: 9px; line-height: 1.5; }
.dialog-footer { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }
.workspace-notice-backdrop, .desktop-close-backdrop { z-index: 180; }
.workspace-notice-dialog { width: min(430px,100%); display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 15px; }
.workspace-notice-dialog h2 { margin: 0 0 7px; color: #26344c; font-size: 19px; }
.workspace-notice-dialog p { margin: 0; color: #738097; line-height: 1.65; }
.workspace-notice-dialog > .primary-button { grid-column: 1 / -1; justify-self: end; min-width: 104px; }
.workspace-notice-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #d88622; background: #fff3df; border-radius: 13px; }
.desktop-close-dialog { width: min(520px,100%); }
.desktop-close-dialog .dialog-head p { margin: 6px 0 0; color: #7f899b; }
.desktop-close-options { display: grid; gap: 10px; }
.desktop-close-options > label { min-height: 76px; padding: 13px 14px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; background: #f8f9fc; border: 1px solid #e2e6ed; border-radius: 12px; cursor: pointer; }
.desktop-close-options > label.selected { background: var(--blue-soft); border-color: var(--blue); }
.desktop-close-options input, .desktop-close-remember input { width: 18px; height: 18px; accent-color: var(--blue); }
.desktop-close-options span { display: flex; flex-direction: column; gap: 5px; }
.desktop-close-options b { color: #35435a; font-size: 13px; }
.desktop-close-options small { color: #7d889b; line-height: 1.55; }
.desktop-close-remember { min-height: 44px; margin-top: 11px; display: flex; align-items: center; gap: 9px; color: #667287; cursor: pointer; }
.toast { position: fixed; z-index: 150; right: 28px; bottom: 28px; min-height: 44px; padding: 0 15px; display: flex; align-items: center; gap: 8px; color: #fff; background: #17315f; border-radius: 11px; box-shadow: 0 13px 35px rgba(14,30,61,.25); font-size: 11px; animation: toast-in .24s ease; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }
.mobile-nav { display: none; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(460px, 1.1fr) minmax(430px, .9fr); background: #fff; }
.login-art { position: relative; min-height: 100vh; padding: 38px 54px; overflow: hidden; color: #fff; background: linear-gradient(145deg, #153270 0%, #184da8 52%, #2669dd 100%); }
.login-art::after { content: ''; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom right, #000, transparent 75%); }
.login-brand { position: relative; z-index: 2; display: flex; align-items: center; gap: 11px; font-size: 19px; font-weight: 700; }
.login-copy { position: relative; z-index: 2; max-width: 610px; margin: 18vh auto 0; }
.login-copy h1 { margin-bottom: 24px; color: #fff; font-size: clamp(42px, 5vw, 70px); line-height: 1.12; letter-spacing: -.045em; }
.login-copy > p { max-width: 540px; color: #c8d8f5; font-size: 15px; line-height: 1.9; }
.login-points { margin-top: 34px; display: flex; gap: 13px; flex-wrap: wrap; }.login-points span { padding: 9px 12px; display: flex; align-items: center; gap: 6px; color: #dce8ff; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); border-radius: 9px; font-size: 10px; }
.orb { position: absolute; border-radius: 50%; filter: blur(3px); }.orb-one { right: -140px; bottom: -190px; width: 480px; height: 480px; background: rgba(65,150,255,.3); }.orb-two { right: 80px; bottom: 100px; width: 190px; height: 190px; background: rgba(88,211,255,.12); }
.login-panel { display: grid; place-items: center; padding: 40px; background: #fbfcfe; }
.login-card { width: min(390px, 100%); display: flex; flex-direction: column; gap: 17px; }.login-card h2 { margin-bottom: 6px; color: #18223a; font-size: 29px; }.login-card > div > p { color: #8c95a6; font-size: 12px; }
.login-card label { display: flex; flex-direction: column; gap: 8px; }.login-card label > span { color: #596378; font-size: 11px; font-weight: 600; }
.login-field-help { margin-top: -2px; color: #8792a5; font-size: 10px; line-height: 1.5; }
.input-with-icon { height: 48px; padding: 0 13px; display: flex; align-items: center; gap: 10px; color: #96a0b2; background: #fff; border: 1px solid #dfe4ec; border-radius: 11px; }.input-with-icon:focus-within { color: var(--blue); border-color: #83a7ee; box-shadow: 0 0 0 3px #edf3ff; }.input-with-icon input { flex: 1; min-width: 0; border: 0; outline: 0; }
.password-toggle { width: 34px; height: 34px; padding: 0; display: grid; place-items: center; color: #8e98aa; background: transparent; border: 0; border-radius: 8px; }
.password-toggle:hover { color: var(--blue); background: var(--blue-soft); }
.login-options { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.login-options label { display: inline-flex; flex-direction: row; align-items: center; gap: 7px; color: #687389; font-size: 10px; cursor: pointer; }
.login-options input { accent-color: var(--blue); }
.login-button { height: 48px; justify-content: space-between; padding-inline: 18px; }.demo-tip { padding: 11px; color: #7f899b; background: #f1f4f9; border-radius: 9px; text-align: center; font-size: 9px; }.form-error { display: flex; align-items: center; gap: 6px; color: #cf554b; font-size: 10px; }.mobile-login-brand { display: none; }

@media (max-width: 1120px) {
  .topbar { grid-template-columns: auto minmax(220px,1fr) auto; padding-inline: 20px; }
  .desktop-utility-actions { display: none; }
  .profile-menu .mobile-profile-action { display: flex !important; }
  .utility-action-button { min-width: 38px; }.utility-action-button > span:last-child { display: none; }
  .profile-button div { display: none; }
  .stats-grid, .quick-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-main { grid-template-columns: 1.4fr 1fr 1fr; }.filter-button { grid-column: 1 / -1; width: max-content; }
}

/* 软件内部放大不会触发浏览器断点；高缩放时主动收拢顶部工具，避免控件被挤出屏幕。 */
@media (min-width: 821px) {
  :root[data-ui-scale='large'] .topbar { grid-template-columns: auto minmax(220px,1fr) auto; padding-inline: 20px; }
  :root[data-ui-scale='large'] .desktop-utility-actions { display: none; }
  :root[data-ui-scale='large'] .profile-menu .mobile-profile-action { display: flex !important; }
  :root[data-ui-scale='large'] .utility-action-button { min-width: 38px; }
  :root[data-ui-scale='large'] .utility-action-button > span:last-child,
  :root[data-ui-scale='large'] .profile-button div { display: none; }
}

@media (min-width: 721px) {
  :root[data-ui-scale-layout='compact'] .dashboard-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :root[data-ui-scale-layout='compact'] .dashboard-slot-quick,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-todos,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-operations,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-sales,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-finance,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-ranking { grid-column: 1 / -1; }
  :root[data-ui-scale-layout='compact'] .dashboard-slot-alerts,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-inventory,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-updates,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-consignment,
  :root[data-ui-scale-layout='compact'] .dashboard-slot-help { grid-column: span 1; }
  :root[data-ui-scale-layout='compact'] .dashboard-quick-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  :root[data-ui-scale-layout='compact'] .dashboard-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .quick-grid,.stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .todo-list { grid-template-columns: 1fr; }
  .todo-item:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid #f0f2f5; }
  :root { --sidebar: 0px; }
  body { background: #f5f7fb; }
  button { min-height: 44px; }
  .main-shell, .sidebar-compact .main-shell { margin-left: 0; }
  .sidebar, .sidebar-compact .sidebar { width: min(300px, 86vw); transform: translateX(-102%); box-shadow: 20px 0 55px rgba(5,20,50,.22); }
  .sidebar.is-open { transform: translateX(0); }
  .sidebar-scrim { position: fixed; inset: 0; z-index: 45; display: block !important; background: rgba(13,22,41,.48); border: 0; }
  .sidebar-close { display: inline-grid !important; color: #c6d4ef; }
  .sidebar-compact .brand span, .sidebar-compact .company-switch div, .sidebar-compact .company-switch > svg, .sidebar-compact .nav-section-title, .sidebar-compact .nav-item span, .sidebar-compact .nav-item em, .sidebar-compact .sidebar-collapse span { display: initial; }
  .sidebar-compact .sidebar-head { padding: 0 22px; }.sidebar-compact .company-switch { margin-inline: 14px; padding: 10px 11px; justify-content: initial; }.sidebar-compact .nav-item { justify-content: initial; padding: 0 11px; }.sidebar-compact .subnav-list { display: flex; }.sidebar-compact .sidebar-collapse { justify-content: initial; padding: 0 13px; }
  .subnav-list { margin-left: 22px; padding-left: 15px; }
  .nav-item { height: 44px; }
  .subnav-list button { min-height: 44px; padding-block: 10px; font-size: 12px; }
  .topbar { height: 60px; padding: 0 14px; display: flex; justify-content: space-between; }
  .workspace-tabs { top: 60px; height: 53px; padding: 0 9px; grid-template-columns: minmax(0,1fr) auto; gap: 4px; }
  .workspace-tab-list { height: 52px; gap: 4px; }
  .workspace-tab { height: 45px; }
  .workspace-tab-select { min-height: 44px; height: 44px; padding-left: 10px; }
  .workspace-tab-select span { max-width: 104px; }
  .workspace-tab-close { min-height: 44px; width: 44px; height: 44px; }
  .workspace-tab-scroll { display: none; }
  .workspace-tab-count { margin-bottom: 15px; }
  .mobile-menu { display: inline-grid; }.breadcrumb span, .breadcrumb svg { display: none; }.breadcrumb b { font-size: 13px; }
  .global-search, .scan-top-button, .profile-button > div, .profile-button > svg { display: none; }
  .topbar-actions .connection-badge span { display: none; }
  .topbar-actions .connection-badge { width: 44px; min-height: 44px; padding: 0; justify-content: center; }
  .desktop-utility-actions { display: none; }
  .profile-button { min-width: 44px; padding: 0; justify-content: center; }.profile-button > span { display: grid; }
  .profile-menu { min-width: 190px; padding: 7px; }.profile-menu button { min-height: 42px; }.profile-menu .mobile-profile-action { display: flex !important; }.profile-menu .mobile-profile-action:hover { color: var(--blue); background: var(--blue-soft); }
  .profile-menu .mobile-profile-action .utility-icon-wrap { flex: 0 0 auto; }
  .utility-center { width: min(470px,100vw); }.utility-content { padding: 14px; }
  .connection-detail-grid { grid-template-columns: 1fr; }
  .accent-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .icon-button { width: 44px; height: 44px; }
  .detail-summary { grid-template-columns: auto 1fr; }.transition-box > div { grid-template-columns: 1fr; }
  .page-area { min-height: calc(100vh - 113px); padding-bottom: 76px; }
  .page { padding: 22px 16px 30px; }
  .welcome-row { align-items: flex-start; }.welcome-row h1, .page-heading h1, .module-hero h1 { font-size: 24px; }.welcome-row p { line-height: 1.6; }.desktop-only { display: none; }
  .quick-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }.quick-card { min-height: 100px; padding: 14px; align-items: flex-start; flex-wrap: wrap; }.quick-card > svg { margin-left: auto; }.quick-card > span:nth-child(2) { flex-basis: 100%; order: 3; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }.stat-card { min-height: 118px; padding: 15px; }.stat-card strong { margin-top: 12px; font-size: 20px; }
  .dashboard-columns { grid-template-columns: 1fr; }.chart-panel { order: -1; }.legend { display: none; }.mini-chart svg { height: 135px; }
  .page-heading { align-items: flex-start; }.page-heading p { display: none; }.heading-actions .secondary-button { display: none; }.heading-actions .primary-button { height: 38px; padding-inline: 12px; }
  .filter-panel { padding: 10px; }.filter-main { display: flex; flex-wrap: wrap; }.search-field { flex: 1 1 100%; min-height: 44px; }.filter-main select { flex: 1; min-width: 0; min-height: 44px; }.filter-button { width: 44px; padding: 0; justify-content: center; font-size: 0; }
  .inventory-metrics { grid-template-columns: repeat(2, 1fr); }.inventory-table-panel { background: transparent; border: 0; }.inventory-table-panel .table-toolbar { padding: 0 2px; border: 0; }.inventory-table-wrap { display: none; }.mobile-inventory-list { display: grid; gap: 10px; }.mobile-stock-card { padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }.mobile-stock-card > div { display: flex; align-items: center; justify-content: space-between; }.mobile-stock-card > div small { color: #9ba3b3; font-size: 9px; }.mobile-stock-card h3 { margin: 12px 0 4px; font-size: 14px; }.mobile-stock-card p { color: #8892a4; font-size: 10px; }.mobile-stock-card dl { margin: 14px 0 0; padding-top: 12px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #eef0f4; }.mobile-stock-card dl div { display: flex; flex-direction: column; gap: 4px; }.mobile-stock-card dt { color: #a0a7b5; font-size: 8px; }.mobile-stock-card dd { margin: 0; color: #485268; font-size: 10px; font-weight: 600; }
  .purchase-filter .filter-main { display: flex; }.purchase-detail-dialog { width: 100%; }.purchase-detail-summary { grid-template-columns: 1fr 1fr; }.purchase-detail-summary > span { width: max-content; }.purchase-info-grid { grid-template-columns: 1fr; }.purchase-info-grid .full { grid-column: auto; }.purchase-items > div { grid-template-columns: 1.3fr .7fr .5fr; }.purchase-items > div > span:nth-child(2) { display: none; }
  .recycle-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }
  .recycle-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); display: grid; gap: 5px; color: #69758a; }
  .recycle-filter .filter-main > label:not(.search-field) input { width: 100%; min-height: 44px; padding: 0 9px; border: 1px solid #e4e7ed; border-radius: 9px; background: #f8f9fc; }
  .recycle-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 44px; font-size: 11px; }
  .purchase-workspace-page .page-heading { gap: 10px; }.purchase-workspace-page .heading-actions { flex-wrap: wrap; justify-content: flex-end; }.purchase-workspace-page .heading-actions button { min-height: 42px; }.purchase-workspace-card > button { min-height: 44px; }.purchase-workspace-empty { min-height: 180px; padding: 28px 16px; border: 1px dashed #dce3ed; border-radius: 13px; background: #fff; text-align: center; }.purchase-quote-dialog { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }.purchase-quote-dialog .form-grid input { min-height: 44px; }.purchase-quote-dialog .dialog-footer { position: sticky; bottom: calc(-20px - env(safe-area-inset-bottom)); margin: 18px -24px 0; padding: 12px 24px calc(20px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f4; }.bargain-price-summary { grid-template-columns: 1fr 1fr; }.bargain-price-summary > div:last-child { grid-column: 1 / -1; }.bargain-footer { display: grid; grid-template-columns: 1fr 1fr; }.bargain-footer .danger-button { grid-column: 1 / -1; order: 3; }.bargain-footer button { min-height: 44px; }
  .purchase-workspace-filter .filter-main > select { flex: 1 1 100%; }
  .purchase-workspace-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; display: grid; gap: 5px; color: #69758a; }
  .purchase-workspace-filter .filter-main > label:not(.search-field) input { width: 100%; min-height: 44px; padding: 0 9px; border: 1px solid #e4e7ed; border-radius: 9px; background: #f8f9fc; }
  .purchase-workspace-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 44px; font-size: 11px; }
  .mobile-readonly-note { min-height: 44px; display: flex; align-items: center; justify-content: center; color: #7b8799; background: #f4f6f9; border-radius: 9px; font-size: 11px; }
  .purchase-return-page .heading-actions { flex-wrap: wrap; justify-content: flex-end; }
  .purchase-return-page .heading-actions .secondary-button { display: inline-flex; min-height: 40px; padding-inline: 11px; }
  .distribution-records-page .page-heading > .secondary-button { display: inline-flex; min-height: 40px; padding-inline: 11px; }
  .distribution-record-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }
  .distribution-record-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }
  .distribution-record-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 44px; font-size: 11px; }
  .distribution-record-card p { overflow-wrap: anywhere; line-height: 1.6; }
  .purchase-extension-page .page-heading > button { min-height: 42px; }.purchase-run-list > article { grid-template-columns: auto 1fr; padding: 13px; }.purchase-run-list article strong { grid-column: 2; }.purchase-import-dialog { width: 100%; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }.purchase-import-editor { min-height: 230px; }.purchase-import-dialog .dialog-footer { position: sticky; bottom: calc(-20px - env(safe-area-inset-bottom)); margin: 16px -24px 0; padding: 12px 24px calc(20px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f4; }.purchase-return-card .card-actions button { min-height: 44px; }
  .receiving-layout { grid-template-columns: 1fr; }.receiving-summary { order: -1; }.receiving-fields { grid-template-columns: 1fr; padding: 16px; }.receiving-fields label.full { grid-column: auto; }.receive-submit { width: calc(100% - 32px); margin: 0 16px 16px; }.received-items article { grid-template-columns: auto minmax(0, 1fr) auto; padding: 11px 14px; gap: 10px; }.received-items article > .status-badge, .received-items article > strong { display: none; }.received-items article > em { grid-column: 3; grid-row: 1; }.receiving-order-card { padding: 16px; }
  .receiving-page .heading-actions .secondary-button { height: 38px; padding-inline: 12px; display: flex; }
  .distribution-create-page { padding-bottom: 142px; }.distribution-page .heading-actions { display: flex; }.distribution-page .heading-actions .primary-button { min-height: 42px; }.distribution-pending-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 44px; font-size: 11px; }.distribution-controls { padding: 12px; }.distribution-scan { align-items: stretch; }.distribution-scan .secondary-button { width: 42px; padding: 0; overflow: hidden; font-size: 0; }.distribution-scan .secondary-button::after { content: '定位'; font-size: 9px; }.distribution-assignment { grid-template-columns: 1fr 1fr; }.distribution-note { grid-column: 1 / -1; }.distribution-mobile-action { position: fixed; z-index: 38; right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); left: 12px; min-height: 58px; padding: 8px 10px 8px 14px; display: flex; align-items: center; justify-content: space-between; color: #657086; background: rgba(255,255,255,.97); border: 1px solid #dfe5ef; border-radius: 15px; box-shadow: 0 12px 40px rgba(20,38,74,.16); backdrop-filter: blur(14px); font-size: 10px; }.distribution-mobile-action b { color: var(--blue); font-size: 14px; }.distribution-mobile-action .primary-button { height: 40px; }.distribution-success span { line-height: 1.5; }.distribution-record-list > article { padding: 15px; grid-template-columns: auto 1fr; align-items: start; }.distribution-record-list dl { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }.distribution-record-list article > p { grid-column: 1 / -1; }.distribution-record-list article > div small { max-width: 250px; }
  .quality-dialog { width: 100%; }.quality-summary { grid-template-columns: auto 1fr; }.quality-filter .filter-main { display: flex; }.quality-workbench-page .page-heading { flex-direction: column; align-items: stretch; gap: 12px; }.quality-workbench-page .page-heading > div:first-child { width: 100%; }.quality-workbench-page .page-heading h1 { white-space: nowrap; }.quality-workbench-page .heading-actions { width: 100%; }.quality-workbench-page .heading-actions .secondary-button { display: inline-flex; flex: 1; min-height: 42px; justify-content: center; }.quality-advanced-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }.quality-advanced-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }.quality-advanced-filter .filter-main > label:not(.search-field) input { width: 100%; min-height: 44px; padding: 0 9px; border: 1px solid #e4e7ed; border-radius: 9px; background: #f8f9fc; }.quality-advanced-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; font-size: 11px; }.quality-stage-tabs { margin-inline: -2px; padding: 2px; }.quality-stage-tabs button { min-width: max-content; font-size: 13px; }.quality-template-tip { display: none; }.quality-checks { grid-template-columns: 1fr; }.quality-start { align-items: flex-start; flex-wrap: wrap; }.quality-start > div { min-width: calc(100% - 45px); }.quality-start .primary-button { width: 100%; }.quality-report-fields { grid-template-columns: 1fr; }.quality-report-fields .full { grid-column: auto; }.quality-footer { bottom: -24px; flex-wrap: wrap; }.quality-footer .secondary-button { margin-right: auto; }.quality-card { cursor: pointer; }.quality-card-action { min-height: 42px; }
  .task-management-page .page-heading { flex-direction: column; align-items: stretch; gap: 12px; }.task-management-page .heading-actions { width: 100%; }.task-management-page .heading-actions button { flex: 1; min-height: 42px; display: inline-flex; justify-content: center; }.task-filter .filter-main { display: flex; }.task-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }.task-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }.task-filter input[type='date'] { min-height: 44px; }.task-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; font-size: 11px; }.task-stage-tabs { margin-inline: -2px; padding: 2px; }.task-center-card { padding: 16px; }.task-center-card h3 { line-height: 1.45; }.task-center-card dl { gap: 8px; }.task-center-card dd { overflow-wrap: anywhere; }.task-center-card > button { min-height: 44px; }.task-mobile-empty { min-height: 190px; padding: 32px 18px; border: 1px dashed #dce3ed; border-radius: 13px; background: #fff; text-align: center; }.task-transfer-dialog { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }.task-transfer-dialog .form-grid select { min-height: 46px; }.task-transfer-dialog textarea { min-height: 120px; }.task-transfer-dialog .api-notice { align-items: flex-start; line-height: 1.55; }.task-transfer-dialog .dialog-footer { position: sticky; bottom: calc(-20px - env(safe-area-inset-bottom)); margin: 18px -24px 0; padding: 12px 24px calc(20px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f4; }.task-transfer-dialog .dialog-footer button { flex: 1; min-height: 44px; }
  .repair-page .page-heading, .external-repair-page .page-heading { flex-direction: column; align-items: stretch; gap: 12px; }.repair-page .heading-actions, .external-repair-page .heading-actions { width: 100%; display: flex; }.repair-page .heading-actions button, .external-repair-page .heading-actions button { flex: 1; min-height: 42px; display: inline-flex; justify-content: center; }.repair-filter .filter-main { display: flex; }.repair-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }.repair-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }.repair-filter input[type='date'] { min-height: 44px; }.repair-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; font-size: 11px; }.repair-part { grid-template-columns: 22px minmax(90px, 1fr) 50px 70px; }.repair-part > b { grid-column: 2 / 4; }.repair-part > button { grid-column: 4; grid-row: 1; }.repair-part:not(:has(input)) { grid-template-columns: 22px 1fr; }.repair-part:not(:has(input)) > span:nth-child(3), .repair-part:not(:has(input)) > strong { grid-column: 2; }.repair-costs { grid-template-columns: 1fr 1fr; }.repair-costs .total { grid-column: 1 / -1; padding: 10px 0 0; border-top: 1px solid #dce3ed; border-left: 0; }
  .sales-listing-page .page-heading { flex-direction: column; align-items: stretch; gap: 12px; }.sales-listing-page .heading-actions { width: 100%; display: flex; }.sales-listing-page .heading-actions button { flex: 1; min-height: 42px; display: inline-flex; justify-content: center; }.sales-listing-filter { display: flex; }.sales-listing-filter select { flex: 1 1 calc(50% - 5px); min-width: 135px; }.sales-listing-filter label:not(.search-field) { flex: 1 1 calc(50% - 5px); min-width: 135px; }.sales-listing-filter input[type=date] { width: 100%; min-height: 44px; }.sales-listing-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; }.sales-device-head { align-items: flex-start; gap: 8px; }.sales-device-head span { text-align: right; }.sales-device-picker > button { grid-template-columns: 26px 1fr; }.sales-device-picker > button strong { grid-column: 2; }.sales-payment-box > div { grid-template-columns: 1fr; }.sales-payment-box label.full { grid-column: auto; }.sales-order-dialog .quality-summary { grid-template-columns: 1fr 1fr; }.sales-order-dialog .quality-summary > span { width: max-content; }
  .sales-workspace-page .heading-actions .secondary-button { display: inline-flex; min-height: 40px; padding-inline: 11px; }
  .sales-workspace-filter .filter-main { display: flex; }.sales-workspace-filter select { flex: 1 1 100%; }.sales-workspace-filter label:not(.search-field) { flex: 1 1 calc(50% - 5px); min-width: 135px; }.sales-workspace-filter input[type=date] { width: 100%; min-height: 44px; }.sales-workspace-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; justify-content: center; white-space: nowrap; }
  .finance-bill-filter .secondary-button { flex: 1 1 100%; width: 100%; min-height: 44px; }
  .module-hero { padding: 18px; align-items: flex-start; flex-wrap: wrap; }.module-hero > div:nth-child(2) { min-width: calc(100% - 75px); }.module-hero > .primary-button { width: 100%; }.process-grid { grid-template-columns: repeat(2, 1fr); }.process-card { min-height: 98px; padding: 14px; }
  .placeholder-list { display: none; }.module-note { margin-top: 18px; }
  .batch-bind-pending-page .page-heading { gap: 14px; }
  .batch-bind-pending-page .page-heading > .status-badge { align-self: flex-start; }
  .batch-bind-evidence-grid { grid-template-columns: 1fr 1fr; padding: 14px; }
  .batch-bind-evidence-grid article { min-height: 96px; }
  .batch-bind-scope, .batch-bind-recording { padding: 16px; }
  .mobile-nav { position: fixed; inset: auto 0 0 0; z-index: 40; height: calc(68px + env(safe-area-inset-bottom)); padding: 7px 14px env(safe-area-inset-bottom); display: grid; grid-template-columns: repeat(5, 1fr); align-items: start; background: rgba(255,255,255,.96); border-top: 1px solid #e5e8ef; box-shadow: 0 -8px 30px rgba(30,45,75,.06); backdrop-filter: blur(15px); }
  .mobile-nav button { height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #8c95a6; background: transparent; border: 0; font-size: 9px; }.mobile-nav button.active { color: var(--blue); }.mobile-nav .mobile-scan { position: relative; color: #506079; }.mobile-scan > span { position: absolute; top: -23px; width: 52px; height: 52px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #3978ed, #1d54c7); border: 5px solid #f5f7fb; border-radius: 18px; box-shadow: 0 8px 20px rgba(37,99,235,.26); }.mobile-scan em { margin-top: 27px; font-style: normal; }
  .toast { right: 16px; bottom: 84px; left: 16px; justify-content: center; }
  .dialog-backdrop { padding: 0; align-items: end; }.dialog { width: 100%; max-height: 90vh; border-radius: 22px 22px 0 0; }.scan-dialog { padding-bottom: calc(22px + env(safe-area-inset-bottom)); }.camera-box { height: 190px; }.form-grid { grid-template-columns: 1fr; }.form-grid .full { grid-column: auto; }
  .login-page { display: block; background: linear-gradient(160deg, #153270, #1d58bd); }.login-art { display: none; }.login-panel { min-height: 100vh; padding: 24px; background: transparent; }.login-card { padding: 25px 21px; background: #fff; border-radius: 22px; box-shadow: 0 22px 70px rgba(8,26,65,.28); }.mobile-login-brand { display: flex; align-items: center; gap: 9px; color: #1c2d50; font-weight: 700; }.login-card > .connection-badge { align-self: flex-start; }
}

/* 应用中心：展示循迹真实内置能力与企业配置状态，不提供未落地的购买和安装操作。 */
.application-safety-note{margin-bottom:14px}
.application-filter .filter-main{grid-template-columns:minmax(280px,1fr) 180px auto}
.application-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.application-market-card{min-width:0;padding:20px;display:flex;flex-direction:column;gap:14px}
.application-market-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.application-market-card header>div{min-width:0}
.application-market-card header small{display:block;margin-bottom:3px;color:var(--muted);font-weight:700}
.application-market-card h2{margin:0;color:var(--text);font-size:18px}
.application-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px}
.application-icon.ready{color:var(--accent);background:var(--accent-soft)}
.application-icon.pending{color:#b57532;background:#fff5e8}
.application-market-card>p{min-height:44px;margin:0;color:var(--muted);line-height:1.65}
.application-market-card ul{margin:0;padding:0;display:grid;gap:8px;list-style:none}
.application-market-card li{display:flex;align-items:flex-start;gap:8px;color:var(--text);line-height:1.5}
.application-market-card li svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}
.application-market-card footer{margin-top:auto;padding-top:4px}
.application-market-card footer button{min-height:42px}
.application-market-card footer>span{min-height:42px;display:flex;align-items:center;gap:7px;color:var(--muted)}
.application-manage-list table{min-width:980px}
.application-manage-list td:nth-child(5){min-width:300px;white-space:normal;line-height:1.6}
.application-manage-card>button{width:100%;min-height:44px;margin-top:10px;justify-content:center}
.application-order-filter .filter-main{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.application-order-filter .search-field{grid-column:span 2}
.application-order-filter .filter-main>label:not(.search-field){min-width:0;display:flex;flex-direction:column;gap:5px}
.application-order-filter .filter-main>label:not(.search-field)>span{color:var(--muted);font-size:12px;font-weight:700}
.application-order-filter input[type='date']{width:100%;min-height:40px}
.application-order-list table{min-width:1160px}
:root[data-theme='dark'] .application-icon.pending{color:#e8ad66;background:#332719}

.merchant-wallet-balance-card{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(120deg,var(--blue),#24c6b7);border:0}.merchant-wallet-balance-card>div{display:grid;gap:7px}.merchant-wallet-balance-card span{font-size:17px;font-weight:700}.merchant-wallet-balance-card strong{font-size:36px;line-height:1}.merchant-wallet-balance-card small{color:rgba(255,255,255,.84)}.merchant-wallet-balance-card .secondary-button{color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.45)}.merchant-wallet-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.merchant-wallet-metric{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.merchant-wallet-metric span,.merchant-wallet-metric small{display:block;color:var(--muted)}.merchant-wallet-metric b{display:block;margin:10px 0 4px;color:var(--text);font-size:24px}.merchant-wallet-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.merchant-wallet-recharge,.merchant-wallet-readiness{padding:20px}.merchant-wallet-payment{margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.merchant-wallet-payment span{display:flex;align-items:center;gap:8px;color:var(--muted)}.merchant-wallet-payment b{color:var(--text)}.merchant-wallet-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.merchant-wallet-amounts button{min-height:44px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:9px}.merchant-wallet-recharge dl{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.merchant-wallet-recharge dl div{padding:12px;background:var(--surface-soft);border-radius:10px}.merchant-wallet-recharge dt{color:var(--muted);font-size:12px}.merchant-wallet-recharge dd{margin:4px 0 0;color:var(--text);font-weight:700}.merchant-wallet-recharge-button{width:100%;justify-content:center}.merchant-wallet-check{padding:13px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.merchant-wallet-check:last-child{border-bottom:0}.merchant-wallet-check>svg{color:var(--blue)}.merchant-wallet-check span{display:grid;gap:3px}.merchant-wallet-check b{color:var(--text)}.merchant-wallet-check small{color:var(--muted)}.merchant-wallet-check em{color:#b86b00;font-size:12px;font-style:normal}.merchant-wallet-product-usage{padding:0}.merchant-wallet-product-usage .table-toolbar{padding:18px 20px}.merchant-wallet-quick-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.merchant-wallet-quick-range>span{display:flex;align-items:center;gap:6px;margin-right:5px;color:var(--text);font-weight:700}.merchant-wallet-quick-range button{min-height:38px;padding:0 15px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px}.merchant-wallet-quick-range button.active{color:var(--blue);background:var(--blue-soft);border-color:var(--blue)}.merchant-wallet-filter{display:grid;gap:14px}.merchant-wallet-filter .filter-main{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(130px,.7fr)) repeat(2,minmax(145px,.8fr)) auto}.merchant-wallet-transaction-list .table-pager{border-top:1px solid var(--line)}

.download-center-notice{margin:0}.download-center-filter .filter-main{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(130px,.75fr)) repeat(2,minmax(145px,.8fr)) auto;align-items:end}.download-center-filter .filter-main>label:not(.search-field){display:grid;gap:5px;min-width:0}.download-center-filter .filter-main>label:not(.search-field)>span{color:var(--muted);font-size:12px;font-weight:700}.download-center-filter input[type='date']{width:100%;min-height:40px}.download-task-list table{min-width:1050px}.download-task-list .table-pager{border-top:1px solid var(--line)}

@media(max-width:820px){
  .download-center-page .page-heading{align-items:stretch;flex-direction:column}.download-center-page .page-heading>button{width:100%;min-height:44px;justify-content:center}.download-center-filter .filter-main{grid-template-columns:1fr 1fr}.download-center-filter .filter-main>*{width:100%;min-width:0;min-height:44px}.download-center-filter .search-field,.download-center-filter .filter-button{grid-column:1/-1}.download-center-filter .filter-button{justify-content:center}.download-task-list .inventory-table-wrap{display:none}.download-task-list .mobile-inventory-list{display:grid}
  .application-center-page .page-heading{flex-direction:column;align-items:stretch;gap:12px}
  .application-center-page .page-heading>.status-badge{align-self:flex-start}
  .application-center-page .page-heading>.secondary-button{width:100%;min-height:44px;justify-content:center}
  .application-filter .filter-main{display:grid;grid-template-columns:1fr}
  .application-filter .filter-main>*{width:100%;min-height:44px}
  .application-market-grid{grid-template-columns:1fr}
  .application-market-card{padding:16px}
  .application-market-card header{grid-template-columns:auto minmax(0,1fr)}
  .application-market-card header>.status-badge{grid-column:2;justify-self:start}
  .application-market-card>p{min-height:0}
  .application-market-card footer button{width:100%;min-height:44px;justify-content:center}
  .application-order-filter .filter-main{display:grid;grid-template-columns:1fr 1fr}
  .application-order-filter .search-field,
  .application-order-filter .filter-main>input:not([type='date']),
  .application-order-filter .filter-main>select,
  .application-order-filter .filter-button{grid-column:1/-1}
  .application-order-filter .filter-main>*{min-width:0}
  .application-order-filter input,
  .application-order-filter select,
  .application-order-filter .filter-button{min-height:44px}
  .application-order-filter .filter-button{width:100%;justify-content:center;font-size:13px}
  .application-order-list .inventory-table-wrap{display:block}
  .application-order-list .inventory-table-wrap table{display:none}
}

/* 小店管理：先展示真实 ERP 发布候选，并明确隔离尚未建立的商城订单与退款模型。 */
.shop-connection-note{margin-bottom:14px}
.shop-filter .filter-main{grid-template-columns:minmax(280px,1.6fr) 170px 145px 145px auto;align-items:end}
.shop-product-filter .filter-main{grid-template-columns:minmax(300px,1.7fr) 190px 150px auto}
.shop-filter .filter-main>label:not(.search-field),
.shop-order-filter .filter-main>label:not(.search-field){min-width:0;display:flex;flex-direction:column;gap:5px}
.shop-filter .filter-main>label:not(.search-field)>span,
.shop-order-filter .filter-main>label:not(.search-field)>span{color:var(--muted);font-size:12px;font-weight:700}
.shop-filter input[type='date'],
.shop-order-filter input[type='date']{width:100%;min-height:40px}
.shop-list table{min-width:1320px}
.shop-product-list table{min-width:1220px}
.shop-order-filter .filter-main{grid-template-columns:minmax(300px,1.7fr) 160px 145px 145px auto;align-items:end}
.shop-order-page .shop-list table{min-width:1360px}
.shop-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.shop-readiness-grid article{min-width:0;padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px}
.shop-readiness-grid article>svg{color:var(--accent)}
.shop-readiness-grid h2{margin:0 0 7px;color:var(--text);font-size:17px}
.shop-readiness-grid p{margin:0;color:var(--muted);line-height:1.65}
.shop-opening-panel{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.shop-opening-panel h2{margin:0 0 7px;color:var(--text);font-size:18px}
.shop-opening-panel p{max-width:820px;margin:0;color:var(--muted);line-height:1.7}
.shop-opening-panel button{flex:0 0 auto}
.same-sale-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.same-sale-readiness-grid>.same-sale-wide-empty{grid-column:1/-1;min-height:260px}.same-sale-publish-workspace{padding:28px;display:grid;justify-items:center;text-align:center}.same-sale-publish-workspace>svg{color:var(--accent)}.same-sale-publish-workspace h2{margin:14px 0 6px;color:var(--text);font-size:21px}.same-sale-publish-workspace p{margin:0;color:var(--muted);line-height:1.65}.same-sale-publish-workspace>label{width:min(680px,100%);margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.same-sale-publish-workspace>label input{min-width:0;min-height:44px;padding:0 13px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:14px}.same-sale-candidate-result{width:min(680px,100%);margin-top:18px;padding:18px;text-align:left;background:var(--surface-muted);border:1px solid var(--line);border-radius:13px}.same-sale-candidate-result header{display:flex;align-items:center;justify-content:space-between;gap:12px}.same-sale-candidate-result header small{color:var(--muted)}.same-sale-candidate-result h3{margin:13px 0 5px;color:var(--text);font-size:18px}.same-sale-candidate-result>p{color:var(--muted)}.same-sale-candidate-result dl{margin:15px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.same-sale-candidate-result dl div{padding:11px;background:var(--surface);border-radius:9px}.same-sale-candidate-result dt{color:var(--muted);font-size:11px}.same-sale-candidate-result dd{margin:5px 0 0;color:var(--text);font-weight:700}

@media(max-width:820px){
  .shop-management-page .page-heading{flex-direction:column;align-items:stretch;gap:12px}
  .shop-management-page .page-heading>.status-badge{align-self:flex-start}
  .shop-management-page .heading-actions{width:100%}
  .shop-management-page .heading-actions button{flex:1;min-height:44px;justify-content:center}
  .shop-management-page .page-heading>.secondary-button{width:100%;min-height:44px;justify-content:center}
  .shop-connection-note{align-items:flex-start}
  .shop-filter .filter-main,
  .shop-order-filter .filter-main{display:grid;grid-template-columns:1fr 1fr}
  .shop-filter .search-field,
  .shop-filter .filter-main>select,
  .shop-filter .filter-button,
  .shop-order-filter .search-field,
  .shop-order-filter .filter-main>select,
  .shop-order-filter .filter-button{grid-column:1/-1}
  .shop-filter .filter-main>*,
  .shop-order-filter .filter-main>*{min-width:0}
  .shop-filter input,
  .shop-filter select,
  .shop-filter .filter-button,
  .shop-order-filter input,
  .shop-order-filter select,
  .shop-order-filter .filter-button{min-height:44px}
  .shop-filter .filter-button,
  .shop-order-filter .filter-button{width:100%;justify-content:center;font-size:13px}
  .shop-readiness-grid{grid-template-columns:1fr}
  .shop-readiness-grid article{padding:16px;grid-template-columns:auto minmax(0,1fr)}
  .shop-readiness-grid article>.status-badge{grid-column:2;justify-self:start}
  .shop-opening-panel{padding:16px;align-items:stretch;flex-direction:column}
  .shop-opening-panel button{width:100%;min-height:44px;justify-content:center}
  .same-sale-readiness-grid{grid-template-columns:1fr}.same-sale-publish-workspace{padding:18px 15px}.same-sale-publish-workspace>label{grid-template-columns:1fr}.same-sale-publish-workspace>label button{min-height:44px;justify-content:center}.same-sale-candidate-result{padding:15px}.same-sale-candidate-result dl{grid-template-columns:1fr 1fr}.same-sale-candidate-result dl div:last-child{grid-column:1/-1}
  .merchant-wallet-balance-card{align-items:flex-start;flex-direction:column}.merchant-wallet-balance-card .secondary-button{width:100%;min-height:44px;justify-content:center}.merchant-wallet-metrics{grid-template-columns:1fr 1fr}.merchant-wallet-grid{grid-template-columns:1fr}.merchant-wallet-amounts{grid-template-columns:1fr 1fr}.merchant-wallet-filter .filter-main{display:grid;grid-template-columns:1fr 1fr}.merchant-wallet-filter .filter-main>*{width:100%;min-width:0;min-height:44px}.merchant-wallet-filter .search-field,.merchant-wallet-filter .filter-main>select:last-of-type,.merchant-wallet-filter .filter-button{grid-column:1/-1}.merchant-wallet-quick-range{display:grid;grid-template-columns:1fr 1fr}.merchant-wallet-quick-range>button{min-height:44px}.merchant-wallet-quick-range>span{grid-column:1/-1}.merchant-wallet-product-usage .inventory-table-wrap,.merchant-wallet-transaction-list .inventory-table-wrap{display:none}.merchant-wallet-product-usage .mobile-inventory-list,.merchant-wallet-transaction-list .mobile-inventory-list{display:grid}
}

@media (max-width: 430px) {
  .quick-grid, .stats-grid { gap: 8px; }.quick-card { min-height: 94px; }.stat-card { min-height: 111px; }
  .chart-summary { gap: 16px; }.chart-summary > span { display: none; }
  .inventory-metrics { gap: 8px; }.metric { min-height: 68px; padding: 12px; }
  .process-grid { gap: 8px; }.process-card { min-height: 92px; }
  .batch-bind-evidence-grid { grid-template-columns: 1fr; }
  .batch-bind-evidence-grid article { min-height: 86px; }
}

@media (max-width: 1100px) {
  .dashboard-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-slot-quick { grid-column:1/-1; }.dashboard-slot-todos,.dashboard-slot-operations,.dashboard-slot-sales,.dashboard-slot-finance,.dashboard-slot-ranking { grid-column:1/-1; }.dashboard-slot-alerts,.dashboard-slot-inventory,.dashboard-slot-updates,.dashboard-slot-consignment,.dashboard-slot-help { grid-column:span 1; }
  .dashboard-quick-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .dashboard-shortcut-picker { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .dashboard-module-grid { grid-template-columns:1fr;gap:12px; }.dashboard-module-slot { grid-column:1!important; }
  .dashboard-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 10px;gap:8px; }.dashboard-quick-card { min-height:99px;padding-inline:2px; }.dashboard-quick-card small { display:none; }.dashboard-quick-card b { font-size:11px; }.dashboard-quick-card .quick-icon { width:49px;height:49px; }
  .dashboard-metric-grid { grid-template-columns:1fr;padding:13px; }.dashboard-metric { min-height:84px; }
  .dashboard-settings-fab { right:14px;bottom:calc(82px + env(safe-area-inset-bottom));width:46px;padding:0;justify-content:center; }.dashboard-settings-fab span { display:none; }
  .dashboard-layout-list article { grid-template-columns:auto minmax(0,1fr) auto; }.dashboard-order-buttons { grid-column:2; }.dashboard-visibility-switch { grid-column:3;grid-row:1/3; }
  .dashboard-settings-dialog .dialog-footer { display:grid;grid-template-columns:1fr 1fr; }.dashboard-settings-dialog .dialog-footer button:first-child { grid-column:1/-1; }
  .dashboard-shortcut-dialog { width:100%;height:min(92vh,820px);max-height:92vh;border-radius:22px 22px 0 0; }.dashboard-shortcut-dialog>.dialog-head { padding:18px 17px 14px; }.dashboard-shortcut-toolbar { padding:11px 14px;align-items:stretch;flex-direction:column;gap:8px; }.dashboard-shortcut-toolbar label { width:100%;min-height:44px; }.dashboard-shortcut-toolbar>span { align-self:flex-end; }.dashboard-shortcut-groups { padding:2px 14px 18px; }.dashboard-shortcut-groups>section { padding:16px 0; }.dashboard-shortcut-picker { grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px; }.dashboard-shortcut-picker>button { min-height:90px; }.dashboard-shortcut-picker>button b { white-space:normal;line-height:1.35; }.dashboard-shortcut-dialog>.dialog-footer { padding:12px 14px calc(14px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr; }.dashboard-shortcut-dialog>.dialog-footer button { min-height:44px;justify-content:center; }.dashboard-shortcut-dialog>.dialog-footer button:first-child { grid-column:1/-1; }
  .profile-menu { position:fixed;top:64px;right:10px;left:10px;min-width:0; }
}

/* 夜间主题：以统一的页面、卡片、表格、表单和弹窗颜色覆盖现有业务组件。 */
:root[data-theme='dark'] { color: #e4e9f2; background: #111722; --blue: #78a7ff; --blue-dark: #9ab9f4; --blue-soft: #1b2c49; --ink: #e3e8f1; --muted: #a2aec0; --line: #30394a; --surface: #1b2230; --surface-soft: #202a3a; --shadow: 0 14px 38px rgba(0,0,0,.28); }
:root[data-theme='dark'][data-accent='sky'] { --blue: #55adff; --blue-dark: #8bc7ff; --blue-soft: #173554; }
:root[data-theme='dark'][data-accent='blue'] { --blue: #78a7ff; --blue-dark: #9ab9f4; --blue-soft: #1b2c49; }
:root[data-theme='dark'][data-accent='green'] { --blue: #45c49b; --blue-dark: #7ed9ba; --blue-soft: #173d34; }
:root[data-theme='dark'][data-accent='violet'] { --blue: #a68aff; --blue-dark: #c2b2ff; --blue-soft: #302650; }
:root[data-theme='dark'][data-accent='orange'] { --blue: #f39a62; --blue-dark: #ffc098; --blue-soft: #4a2d20; }
:root[data-theme='dark'][data-accent='sky'] { --sidebar-start:#1d77bd;--sidebar-end:#155482;--sidebar-active-start:#3398e8;--sidebar-active-end:#1877bd;--chart-primary:#55adff; }
:root[data-theme='dark'][data-accent='blue'] { --sidebar-start:#263f76;--sidebar-end:#192a50;--sidebar-active-start:#4169bd;--sidebar-active-end:#2e559e;--chart-primary:#78a7ff; }
:root[data-theme='dark'][data-accent='green'] { --sidebar-start:#1a6e57;--sidebar-end:#10493b;--sidebar-active-start:#258d70;--sidebar-active-end:#19745b;--chart-primary:#45c49b; }
:root[data-theme='dark'][data-accent='violet'] { --sidebar-start:#6247a2;--sidebar-end:#3e2e6d;--sidebar-active-start:#8163c7;--sidebar-active-end:#684da9;--chart-primary:#a68aff; }
:root[data-theme='dark'][data-accent='orange'] { --sidebar-start:#b95d16;--sidebar-end:#773b13;--sidebar-active-start:#df7a2a;--sidebar-active-end:#bd5b15;--chart-primary:#f39a62; }
:root[data-theme='dark'] body { color: #e4e9f2; background: #111722; }
:root[data-theme='dark'] .main-shell,
:root[data-theme='dark'] .page-area { background: #111722; }
:root[data-theme='dark'] .topbar { background: rgba(24,31,43,.94); border-color: #30394a; }
:root[data-theme='dark'] .breadcrumb b,
:root[data-theme='dark'] .welcome-row h1,
:root[data-theme='dark'] .page-heading h1,
:root[data-theme='dark'] .module-hero h1,
:root[data-theme='dark'] .panel-head h2 { color: #edf1f7; }
:root[data-theme='dark'] .global-search,
:root[data-theme='dark'] .connection-badge { color: #aab5c5; background: #212a38; border-color: #364051; }
:root[data-theme='dark'] .global-search kbd { color: #9ca8b9; background: #18202c; border-color: #374154; }
:root[data-theme='dark'] .profile-button:hover,
:root[data-theme='dark'] .utility-action-button:hover { background: #222d3e; }
:root[data-theme='dark'] .profile-button b { color: #edf1f7; }
:root[data-theme='dark'] .connection-overview { background: #202938; border-color: #354052; }
:root[data-theme='dark'] .connection-overview > span { background: #17202c; }
:root[data-theme='dark'] .connection-overview.connected { background: #17352e; border-color: #285747; }
:root[data-theme='dark'] .connection-overview.connected > span { background: #21483d; }
:root[data-theme='dark'] .connection-overview.disconnected { background: #3b2526; border-color: #624042; }
:root[data-theme='dark'] .connection-overview.disconnected > span { background: #512e30; }
:root[data-theme='dark'] .connection-overview b,
:root[data-theme='dark'] .connection-detail-grid b { color: #e5ebf4; }
:root[data-theme='dark'] .connection-overview p,
:root[data-theme='dark'] .connection-detail-grid span,
:root[data-theme='dark'] .connection-detail-grid small { color: #a2aec0; }
:root[data-theme='dark'] .connection-detail-grid article { background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .profile-menu,
:root[data-theme='dark'] .panel,
:root[data-theme='dark'] .quick-card,
:root[data-theme='dark'] .stat-card,
:root[data-theme='dark'] .filter-panel,
:root[data-theme='dark'] .metric,
:root[data-theme='dark'] .mobile-stock-card,
:root[data-theme='dark'] .dialog,
:root[data-theme='dark'] .login-card { color: #dce3ed; background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .profile-menu button { color: #b8c2d1; }
:root[data-theme='dark'] .profile-menu button:hover { color: #ff9088; background: #38262a; }
:root[data-theme='dark'] .panel-head,
:root[data-theme='dark'] .table-toolbar,
:root[data-theme='dark'] td { border-color: #30394a; }
:root[data-theme='dark'] th { color: #aab5c5; background: #222b39; }
:root[data-theme='dark'] td,
:root[data-theme='dark'] .table-toolbar span { color: #b4becd; }
:root[data-theme='dark'] td b,
:root[data-theme='dark'] .quick-card b,
:root[data-theme='dark'] .stat-card strong,
:root[data-theme='dark'] .metric b,
:root[data-theme='dark'] .mobile-stock-card h3 { color: #e6ebf3; }
:root[data-theme='dark'] .inventory-table-wrap tbody tr:hover,
:root[data-theme='dark'] .todo-item:hover { background: #222b39; }
:root[data-theme='dark'] .search-field,
:root[data-theme='dark'] .filter-main select,
:root[data-theme='dark'] .form-grid select,
:root[data-theme='dark'] .form-grid input,
:root[data-theme='dark'] .form-grid textarea,
:root[data-theme='dark'] .transition-box select,
:root[data-theme='dark'] .transition-box input,
:root[data-theme='dark'] input,
:root[data-theme='dark'] select,
:root[data-theme='dark'] textarea { color: #dce3ed; background-color: #161e2a; border-color: #384254; }
:root[data-theme='dark'] input::placeholder,
:root[data-theme='dark'] textarea::placeholder { color: #707d91; }
:root[data-theme='dark'] .secondary-button { color: #c1cad7; background: #202938; border-color: #3a4557; }
:root[data-theme='dark'] .chart-summary,
:root[data-theme='dark'] .detail-summary,
:root[data-theme='dark'] .detail-grid,
:root[data-theme='dark'] .recycle-action-box,
:root[data-theme='dark'] .extension-picker > label,
:root[data-theme='dark'] .extension-picker.static > div { background: #171f2b; border-color: #30394a; }
:root[data-theme='dark'] .grid-lines line { stroke: #30394a; }
:root[data-theme='dark'] .dialog-backdrop,
:root[data-theme='dark'] .utility-backdrop { background: rgba(3,7,13,.64); }
:root[data-theme='dark'] .utility-center { color: #dce3ed; background: #131a25; border-color: #30394a; }
:root[data-theme='dark'] .utility-head,
:root[data-theme='dark'] .download-card,
:root[data-theme='dark'] .utility-summary-grid article,
:root[data-theme='dark'] .message-card,
:root[data-theme='dark'] .help-groups article,
:root[data-theme='dark'] .theme-options button { color: #bdc7d5; background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .utility-head h2,
:root[data-theme='dark'] .download-card b,
:root[data-theme='dark'] .message-card b,
:root[data-theme='dark'] .help-groups h3,
:root[data-theme='dark'] .theme-options b,
:root[data-theme='dark'] .utility-summary-grid b { color: #e7ecf4; }
:root[data-theme='dark'] .utility-intro { background: #192a43; border-color: #29466c; }
:root[data-theme='dark'] .utility-intro b { color: #e0e7f0; }
:root[data-theme='dark'] .theme-options button.selected { background: #1a2b46; border-color: #5277ae; }
:root[data-theme='dark'] .mobile-nav { background: rgba(24,31,43,.96); border-color: #30394a; }
:root[data-theme='dark'] .mobile-scan > span { border-color: #111722; }
:root[data-theme='dark'] .login-panel { background: #131a25; }
:root[data-theme='dark'] .input-with-icon { color: #8390a4; background: #151d29; border-color: #394355; }
:root[data-theme='dark'] .login-card h2,
:root[data-theme='dark'] .mobile-login-brand { color: #edf1f7; }
:root[data-theme='dark'] .workspace-tabs { background: rgba(17,23,34,.96); border-color: #30394a; }
:root[data-theme='dark'] .workspace-tab { color: #9aa7ba; background: #202938; border-color: #30394a; }
:root[data-theme='dark'] .workspace-tab.active { color: #8eb5ff; background: #1b2230; border-color: #3a4557; }
:root[data-theme='dark'] .workspace-tab-scroll { color: #bdc7d5; background: #202938; border-color: #3a4557; }
:root[data-theme='dark'] .workspace-tab-close:hover { color: #ff9189; background: #38262a; }
:root[data-theme='dark'] .workspace-notice-dialog,
:root[data-theme='dark'] .desktop-close-dialog { color: #dce3ed; background: #1b2230; }
:root[data-theme='dark'] .workspace-notice-dialog h2,
:root[data-theme='dark'] .desktop-close-options b { color: #e7ecf4; }
:root[data-theme='dark'] .desktop-close-options > label { background: #171f2b; border-color: #30394a; }
:root[data-theme='dark'] .desktop-close-options > label.selected { background: #1a2b46; border-color: var(--blue); }

.recycle-card { cursor: pointer; }
.recycle-action-box { margin-top: 16px; padding: 17px; display: grid; gap: 15px; background: #f6f9fe; border: 1px solid #e2e9f4; border-radius: 14px; }
.recycle-action-box h3, .recycle-history h3 { margin: 0; font-size: 13px; }
.recycle-action-box > .primary-button { justify-self: end; }
.recycle-action-box .quality-check { grid-template-columns: minmax(95px,1fr) 90px minmax(140px,1.4fr); }
.recycle-confirm-box { text-align: center; }
.recycle-confirm-box > strong { color: #2365dc; font-size: 30px; }
.recycle-confirm-box > p { margin: 0; color: #7e899e; font-size: 11px; }
.recycle-confirm-box > div { display: flex; justify-content: center; gap: 9px; }
.recycle-result { margin-top: 16px; padding: 18px; display: flex; align-items: center; gap: 12px; color: #188762; background: #eefbf6; border: 1px solid #d6f2e7; border-radius: 13px; }
.recycle-result div { display: flex; flex-direction: column; gap: 4px; }
.recycle-result span { color: #66877c; font-size: 10px; }
.recycle-history { margin-top: 20px; display: grid; gap: 0; }
.recycle-history > h3 { margin-bottom: 10px; }
.recycle-history > div { position: relative; padding: 0 0 15px 20px; }
.recycle-history > div > span { position: absolute; top: 4px; left: 2px; width: 8px; height: 8px; background: #4380e8; border: 2px solid #dceaff; border-radius: 50%; }
.recycle-history > div:not(:last-child)::before { content: ''; position: absolute; top: 12px; bottom: 0; left: 5px; width: 1px; background: #dce3ef; }
.recycle-history section { display: flex; flex-direction: column; gap: 3px; }
.recycle-history b { font-size: 11px; }
.recycle-history small, .recycle-history p { margin: 0; color: #9099aa; font-size: 9px; }
.after-sales-card { cursor: pointer; }
.after-sales-action { margin-top: 16px; padding: 17px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; color: #426fbd; background: #f3f7ff; border: 1px solid #dfe9f8; border-radius: 14px; }
.after-sales-action > div { display: flex; flex-direction: column; gap: 4px; }.after-sales-action b { color: #334763; font-size: 12px; }.after-sales-action span { color: #7f8ca2; font-size: 10px; }
.after-sales-dialog .recycle-action-box > label { display: flex; flex-direction: column; gap: 7px; }.after-sales-dialog .recycle-action-box label > span { color: #5a6478; font-size: 11px; font-weight: 600; }
.after-sales-dialog .recycle-action-box input, .after-sales-dialog .recycle-action-box select { min-height: 40px; padding: 0 11px; border: 1px solid #dce3ee; border-radius: 8px; }
.after-sales-dialog .recycle-action-box textarea { min-height: 70px; padding: 10px; border: 1px solid #dce3ee; border-radius: 8px; resize: vertical; }
.after-sales-review { display: flex; justify-content: flex-end; gap: 9px; }

@media (max-width: 820px) {
  .recycle-detail-dialog { width: 100%; }
  .recycle-action-box .quality-check { grid-template-columns: 1fr 95px; }
  .recycle-action-box .quality-check input { grid-column: 1 / -1; }
  .recycle-action-box > .primary-button { width: 100%; }
  .recycle-confirm-box > div { flex-direction: column-reverse; }
  .recycle-confirm-box button { width: 100%; }
  .after-sales-action { grid-template-columns: auto 1fr; }.after-sales-action .primary-button { grid-column: 1 / -1; width: 100%; }.after-sales-review { flex-direction: column-reverse; }.after-sales-review button { width: 100%; }
}

.shipping-card { cursor: pointer; }.shipping-card > button { margin-top: 13px; width: 100%; }
.shipping-workspace-page .heading-actions { display: flex; gap: 8px; }
.shipping-workspace-filter .filter-main { grid-template-columns: repeat(5,minmax(0,1fr)); align-items: end; }
.shipping-workspace-filter .search-field { grid-column: span 2; }
.shipping-workspace-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.shipping-workspace-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.shipping-workspace-filter .filter-main > label:not(.search-field) input { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; }
.shipping-stage-tabs { margin-bottom: 13px; }
.shipping-model-note { margin: 0 0 13px; }
.shipping-list table { min-width: 1540px; }
.shipping-parameter-list { margin-top: 13px; }
.shipping-parameter-list table { min-width: 980px; }
.carrier-panel { overflow: hidden; }.carrier-grid { padding: 18px; display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; }.carrier-grid article { padding: 15px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; border: 1px solid #e2e7ef; border-radius: 12px; }.carrier-grid article > div { display: flex; flex-direction: column; gap: 3px; }.carrier-grid article b { color: #35445c; font-size: 12px; }.carrier-grid article small { color: #919aab; font-size: 9px; }.shipping-icon { width: 38px; height: 38px; display: grid; place-items: center; color: #3973d5; background: #edf4ff; border-radius: 10px; }
.shipping-items { margin-top: 16px; display: grid; gap: 8px; }.shipping-items > b { font-size: 12px; }.shipping-items article { padding: 11px 12px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; background: #f8f9fc; border: 1px solid #e8ebf1; border-radius: 10px; }.shipping-items article.verified { background: #f0fbf7; border-color: #d3eee4; }.shipping-items article > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.shipping-items article b { color: #3b485e; font-size: 11px; }.shipping-items article small { overflow: hidden; color: #8b95a7; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.shipping-check { width: 24px; height: 24px; display: grid; place-items: center; color: #fff; background: #dfe5ee; border-radius: 50%; }.verified .shipping-check { background: #28a879; }
.shipping-action { margin-top: 16px; padding: 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; color: #4474c4; background: #f3f7ff; border: 1px solid #dfe8f7; border-radius: 13px; }.shipping-action > div { display: flex; flex-direction: column; gap: 4px; }.shipping-action b { color: #34465f; font-size: 12px; }.shipping-action span { color: #7f8ca1; font-size: 10px; }
.shipping-verify, .shipping-ship { margin-top: 16px; padding: 16px; display: grid; gap: 13px; background: #f6f9fe; border: 1px solid #e1e8f3; border-radius: 13px; }.shipping-verify > div { display: flex; align-items: center; gap: 10px; color: #3f73cc; }.shipping-verify > div span { display: flex; flex-direction: column; gap: 3px; }.shipping-verify b, .shipping-ship h3 { margin: 0; color: #34445d; font-size: 12px; }.shipping-verify small { color: #8791a4; font-size: 9px; }.shipping-verify > label { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.shipping-verify input, .shipping-exception input, .shipping-resolve input { min-height: 40px; padding: 0 11px; border: 1px solid #dce3ee; border-radius: 8px; }.shipping-verify > .primary-button, .shipping-ship > .primary-button { justify-self: end; }
.shipping-exception { margin-top: 13px; padding: 13px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 9px; background: #fff8f5; border: 1px solid #f2ded7; border-radius: 12px; }.shipping-exception label { display: flex; flex-direction: column; gap: 6px; }.shipping-exception label > span { color: #845f55; font-size: 10px; font-weight: 600; }
.shipping-resolve { margin-top: 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; }.shipping-resolve > div { display: flex; flex-direction: column; gap: 6px; }.shipping-resolve input { background: #fff; }

@media (max-width: 820px) {
  .shipping-workspace-page .page-heading { align-items: stretch; }
  .shipping-workspace-page .heading-actions { width: 100%; }
  .shipping-workspace-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .shipping-workspace-filter .filter-main { display: flex; }
  .shipping-workspace-filter .search-field { flex: 1 1 100%; }
  .shipping-workspace-filter .filter-main > select { flex: 1 1 100%; }
  .shipping-workspace-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }
  .shipping-workspace-filter .filter-main > label:not(.search-field) input { min-height: 44px; }
  .shipping-workspace-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; justify-content: center; font-size: 11px; }
  .shipping-model-note { margin: 0 0 13px; align-items: flex-start; line-height: 1.55; }
  .shipping-settings-page .module-note { margin: 0 0 13px; align-items: flex-start; }
  .shipping-settings-page .table-toolbar { align-items: center; }
  .carrier-grid { grid-template-columns: 1fr; padding: 12px; }.shipping-dialog { width: 100%; }.shipping-action { grid-template-columns: auto 1fr; }.shipping-action .primary-button { grid-column: 1 / -1; width: 100%; }.shipping-verify > .primary-button, .shipping-ship > .primary-button { width: 100%; justify-self: stretch; }.shipping-exception { grid-template-columns: 1fr; }.shipping-exception button { width: 100%; }.shipping-resolve { grid-template-columns: auto 1fr; align-items: start; }.shipping-resolve button { grid-column: 1 / -1; width: 100%; }.shipping-items article { grid-template-columns: auto minmax(0,1fr); }.shipping-items article > .status-badge { grid-column: 2; width: max-content; }
}

.transfer-card, .stocktake-card { cursor: pointer; }.transfer-card > button, .stocktake-card > button { margin-top: 13px; width: 100%; }
.transfer-search { margin-top: 15px; }.transfer-picker { max-height: 310px; margin-top: 8px; display: grid; gap: 7px; overflow: auto; }.transfer-picker > button { padding: 11px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; text-align: left; background: #fff; border: 1px solid #e2e7ef; border-radius: 10px; }.transfer-picker > button.selected { background: #eff5ff; border-color: #7fa7eb; }.transfer-picker > button > div { display: flex; flex-direction: column; gap: 3px; }.transfer-picker b { color: #3b485e; font-size: 11px; }.transfer-picker small { color: #8e98a9; font-size: 9px; }
.stocktake-scan { margin-top: 16px; padding: 16px; display: grid; gap: 13px; background: #f3f7ff; border: 1px solid #dfe8f7; border-radius: 13px; }.stocktake-scan > div { display: flex; align-items: center; gap: 10px; color: #3972d0; }.stocktake-scan > div span { display: flex; flex-direction: column; gap: 3px; }.stocktake-scan b { color: #34445c; font-size: 12px; }.stocktake-scan small { color: #8590a3; font-size: 9px; }.stocktake-scan label { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.stocktake-scan input { min-height: 42px; padding: 0 11px; border: 1px solid #dce3ee; border-radius: 8px; }.stocktake-scan > .primary-button { justify-self: end; }
.stocktake-items { max-height: 320px; margin-top: 16px; display: grid; gap: 7px; overflow: auto; }.stocktake-items > div { display: flex; align-items: center; justify-content: space-between; }.stocktake-items > div b { font-size: 12px; }.stocktake-items > div span { color: #758197; font-size: 10px; }.stocktake-items article { padding: 10px 12px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; background: #f8f9fc; border: 1px solid #e8ebf1; border-radius: 10px; }.stocktake-items article.verified { background: #f0fbf7; border-color: #d4eee4; }.stocktake-items article > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.stocktake-items article b { color: #3c495e; font-size: 11px; }.stocktake-items article small { overflow: hidden; color: #8c96a8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.stocktake-items article em { color: #a0a8b5; font-size: 9px; font-style: normal; }.stocktake-items article.verified em { color: #21865f; }
.stocktake-difference { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.stocktake-difference article { min-height: 78px; padding: 13px; display: flex; flex-direction: column; gap: 7px; border-radius: 11px; }.stocktake-difference .missing { color: #9b4f45; background: #fff3f1; border: 1px solid #f3dcd7; }.stocktake-difference .surplus { color: #24755b; background: #eefaf5; border: 1px solid #d6eee4; }.stocktake-difference b { font-size: 11px; }.stocktake-difference span { font-size: 9px; line-height: 1.6; word-break: break-all; }

@media (max-width: 820px) {
  .transfer-create-dialog, .transfer-detail-dialog, .stocktake-dialog { width: 100%; }.stocktake-scan label { grid-template-columns: 1fr; }.stocktake-scan label button, .stocktake-scan > .primary-button { width: 100%; justify-self: stretch; }.stocktake-difference { grid-template-columns: 1fr; }.stocktake-items article { grid-template-columns: auto minmax(0,1fr); }.stocktake-items article em { grid-column: 2; }
}

.movement-plus { color: #17805b; font-weight: 700; }.movement-minus { color: #c15449; font-weight: 700; }.movement-card footer { margin-top: 12px; padding-top: 10px; display: flex; justify-content: space-between; gap: 8px; color: #69758a; border-top: 1px solid #edf0f4; font-size: 9px; }.movement-card footer small { color: #9aa3b1; }.movement-type { padding: 4px 7px; border-radius: 7px; font-size: 9px; font-weight: 700; }.movement-type.in { color: #19805b; background: #eaf8f2; }.movement-type.out { color: #bd5147; background: #fff0ee; }.movement-type.cost { color: #6751b8; background: #f1edff; }
.operation-locate { display: grid; grid-template-columns: 1fr auto; gap: 8px; }.operation-item { margin-top: 14px; padding: 14px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; background: #f5f8fd; border: 1px solid #e1e8f3; border-radius: 12px; }.operation-item > div { display: flex; flex-direction: column; gap: 3px; }.operation-item b { color: #35445b; font-size: 12px; }.operation-item small { color: #8b95a6; font-size: 9px; }.operation-item strong { color: #2b63c5; font-size: 12px; }.operation-fields { margin-top: 15px; }.cost-preview { margin-top: 12px; padding: 13px; display: flex; align-items: center; justify-content: space-between; border-radius: 10px; }.cost-preview.increase { color: #20765a; background: #edf9f4; border: 1px solid #d7eee5; }.cost-preview.decrease { color: #a75249; background: #fff2f0; border: 1px solid #f1ddd9; }.cost-preview span { font-size: 10px; }.cost-preview b { font-size: 15px; }
.parts-low-filter { min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; gap: 7px; color: #69758a; background: #fff; border: 1px solid var(--line); border-radius: 9px; font-size: 10px; white-space: nowrap; }.parts-low-filter input { accent-color: var(--blue); }.parts-warning { color: #c1554f; }.parts-page .mobile-stock-card > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.part-stock-filter .filter-main { grid-template-columns: minmax(260px,1.8fr) minmax(130px,.7fr) minmax(130px,.7fr) auto auto; align-items: end; }
.part-movement-filter .filter-main { grid-template-columns: minmax(250px,1.8fr) repeat(3,minmax(120px,.7fr)) 138px 138px auto; align-items: end; }
.part-movement-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.part-movement-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.part-movement-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.part-stock-list table { min-width: 1260px; }
.part-movement-list table { min-width: 1480px; }
.part-disassembly-list table { min-width: 1480px; }
.part-import-history-list table { min-width: 1180px; }
.part-import-history-filter .filter-main { grid-template-columns: minmax(270px,1.8fr) minmax(130px,.7fr) 138px 138px auto; align-items: end; }
.part-import-history-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.part-import-history-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.part-import-history-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.part-stock-list td,.part-movement-list td,.part-disassembly-list td,.part-import-history-list td { vertical-align: middle; }
:root[data-theme='dark'] .part-movement-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }
:root[data-theme='dark'] .part-import-history-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }
.finance-outstanding { color: #c15d3d; font-weight: 700; }.finance-account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.finance-account-card { padding: 18px; }.finance-account-card > div { display: flex; align-items: center; justify-content: space-between; color: var(--blue); }.finance-account-card small, .finance-account-card p { color: #8b95a6; font-size: 9px; }.finance-account-card h3 { margin: 9px 0 4px; color: #445066; font-size: 13px; }.finance-account-card strong { display: block; margin-top: 13px; color: #24334c; font-size: 23px; }.finance-account-card p { margin: 10px 0 0; }.finance-settlement-preview { margin-top: 13px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; color: #315f9f; background: #eef5ff; border: 1px solid #dae8fb; border-radius: 10px; }.finance-settlement-preview span { font-size: 10px; }.finance-settlement-preview b { font-size: 16px; }.finance-bill-card > div:first-child { display: flex; align-items: center; justify-content: space-between; }.finance-bill-card .primary-button { width: 100%; margin-top: 12px; }
.report-date-filter { grid-template-columns: repeat(2,minmax(170px,220px)) auto 1fr; align-items: end; }.report-date-filter label { display: flex; flex-direction: column; gap: 5px; }.report-date-filter label span { color: #788397; font-size: 9px; }.report-date-filter input { min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }.report-date-filter .filter-button { min-height: 40px; white-space: nowrap; }.report-date-filter > span { align-self: center; color: #8993a4; font-size: 10px; }.report-footnote { margin-top: 14px; }.report-card dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.report-card dd { overflow-wrap: anywhere; }
.report-workspace-list table { min-width: 960px; }
.report-workspace-list .finance-analysis-sort { min-height: 34px; margin: 0 -7px; padding: 0 7px; border-radius: 7px; }
.report-workspace-list .finance-analysis-sort:hover,.report-workspace-list .finance-analysis-sort.active { color: var(--blue); background: var(--blue-soft); }
@media (max-width: 760px) { .finance-account-grid { grid-template-columns: 1fr; } }

@media (max-width: 820px) {
  .operation-locate { grid-template-columns: 1fr; }.operation-locate button { width: 100%; }.operation-item { grid-template-columns: auto 1fr; }.operation-item strong { grid-column: 2; }.movement-card footer { flex-direction: column; }.report-date-filter { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }.report-date-filter .filter-button { grid-column: 1 / -1; width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }.report-date-filter > span { grid-column: 1 / -1; }.report-card dl { grid-template-columns: 1fr 1fr; }.report-workspace-page .page-heading { flex-direction: column; align-items: stretch; gap: 12px; }.report-workspace-page .heading-actions { width: 100%; }.report-workspace-page .heading-actions .secondary-button { width: 100%; min-height: 44px; display: inline-flex; justify-content: center; }.report-workspace-list .table-toolbar { align-items: flex-start; flex-direction: column; gap: 4px; }.report-workspace-list .table-toolbar > small { line-height: 1.5; }
}

.contact-actions { display: flex; align-items: center; gap: 9px; }
.contact-tag-grid { padding: 18px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.contact-tag-card { min-height: 74px; padding: 14px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; background: #fafbfe; border: 1px solid #e5e9f0; border-radius: 11px; }
.contact-tag-card > div { display: flex; flex-direction: column; gap: 4px; }.contact-tag-card b { color: #35445c; font-size: 12px; }.contact-tag-card small { color: #8c96a7; font-size: 9px; }.contact-tag-card code { color: #8e97a6; font-size: 9px; }.contact-tag-dot { width: 13px; height: 13px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(70,100,160,.08); }
.contact-dialog { width: min(760px,calc(100vw - 30px)); }.small-dialog { width: min(520px,calc(100vw - 30px)); }
.contact-tag-picker { margin: 0; padding: 10px; display: flex; flex-wrap: wrap; gap: 7px; border: 1px solid #dfe4ec; border-radius: 10px; }.contact-tag-picker legend { padding: 0 5px; color: #59657a; font-size: 10px; font-weight: 600; }.contact-tag-picker button { min-height: 31px; padding: 0 9px; display: inline-flex; align-items: center; gap: 6px; color: #657087; background: #f7f8fb; border: 1px solid #e1e5ec; border-radius: 8px; font-size: 10px; }.contact-tag-picker button i { width: 8px; height: 8px; border-radius: 50%; }.contact-tag-picker button svg { opacity: 0; }.contact-tag-picker button.selected { color: #285eae; background: #edf4ff; border-color: #9ab8e8; }.contact-tag-picker button.selected svg { opacity: 1; }.contact-tag-picker > small { padding: 5px; color: #929baa; }
.contact-card { cursor: pointer; }.contact-mobile-tags { justify-content: flex-start !important; gap: 5px; margin-top: 9px; }.contact-mobile-tags span { padding: 3px 6px; color: #4b6fa7; background: #eef4fc; border-radius: 6px; font-size: 8px; }.contact-card footer { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.contact-card footer button { min-height: 40px; }
.contacts-workspace-list table { min-width: 1320px; }.contact-tag-list table { min-width: 720px; }.contact-tag-name { display: inline-flex; align-items: center; gap: 9px; }.contact-tag-filter .filter-main { grid-template-columns: minmax(260px,1fr) auto; }.contact-tag-mobile-card footer { color: #8993a5; font-size: 10px; }.contact-card footer.single-action { grid-template-columns: 1fr; }
.statement-dialog { width: min(820px,calc(100vw - 30px)); }.statement-summary { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.statement-summary > div { padding: 12px; display: flex; flex-direction: column; gap: 6px; background: #f6f8fc; border: 1px solid #e5e9f1; border-radius: 10px; }.statement-summary span { color: #8993a5; font-size: 9px; }.statement-summary b { color: #34445d; font-size: 14px; }.statement-summary .warning { background: #fff4f1; border-color: #f1ddd7; }.statement-summary .warning b { color: #bd5248; }
.statement-section { margin-top: 17px; }.statement-section h3 { margin: 0 0 8px; color: #35445d; font-size: 12px; }.statement-section h3 small { margin-left: 5px; color: #929aa8; font-weight: 400; }.statement-list { max-height: 220px; display: grid; gap: 7px; overflow: auto; }.statement-list article { padding: 11px 12px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; background: #fafbfe; border: 1px solid #e8ebf1; border-radius: 9px; }.statement-list article > div { display: flex; align-items: center; gap: 8px; }.statement-list article b { color: #3c4a61; font-size: 10px; }.statement-list article span,.statement-list article p { color: #8a94a5; font-size: 9px; }.statement-list article p { margin: 0; }.statement-list article strong { grid-column: 2; grid-row: 1 / 3; color: #48566c; font-size: 11px; }.statement-empty { padding: 18px; color: #9099a9; text-align: center; background: #fafbfc; border-radius: 9px; font-size: 10px; }

@media (max-width: 820px) {
  .contact-tag-grid { padding: 4px 0; grid-template-columns: 1fr; }.contact-tag-card { background: #fff; }.contact-dialog,.statement-dialog,.small-dialog { width: 100%; }.statement-summary { grid-template-columns: repeat(2,1fr); }.statement-summary > div:last-child { grid-column: 1 / -1; }.statement-list article { grid-template-columns: 1fr; }.statement-list article strong { grid-column: 1; grid-row: auto; }.contact-tag-picker { grid-column: auto; }.contacts-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.contacts-page .heading-actions { width: 100%; }.contacts-page .heading-actions button { min-height: 44px; flex: 1; justify-content: center; }.contacts-page .heading-actions .secondary-button { display: inline-flex; }.contact-filter .filter-main,.contact-tag-filter .filter-main { grid-template-columns: 1fr; }.contact-filter .filter-button,.contact-tag-filter .filter-button { min-height: 44px; }.contact-card footer button { min-height: 44px; }
}

.organization-company { padding: 19px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }.organization-company-icon { width: 46px; height: 46px; display: grid; place-items: center; color: #316dcc; background: #edf4ff; border-radius: 13px; }.organization-company > div:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }.organization-company span { color: #8a94a5; font-size: 9px; }.organization-company h2 { margin: 0; color: #30405a; font-size: 17px; }.organization-company p { margin: 0; color: #8792a4; font-size: 10px; }.organization-card { cursor: pointer; }
@media (max-width: 820px) { .organization-company { grid-template-columns: auto 1fr; }.organization-company > button { grid-column: 1 / -1; width: 100%; }.organization-page .inventory-metrics { grid-template-columns: repeat(2,1fr); } }

.access-role-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.access-role-card { padding: 18px; display: flex; flex-direction: column; gap: 9px; }
.access-role-card.protected { background: linear-gradient(145deg,#fbf9ff,#fff); border-color: #e4dcfb; }
.access-role-card > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.access-role-card h3 { margin: 3px 0 0; color: #33425a; font-size: 15px; }
.access-role-card p { margin: 0; color: #8993a4; font-size: 10px; }
.access-role-card > button { width: 100%; margin-top: auto; }
.access-role-tags { min-height: 54px; display: flex; flex-wrap: wrap; align-content: flex-start; gap: 5px; }
.access-role-tags span,.access-warehouse-tags span { padding: 4px 7px; color: #486b9f; background: #eef4fc; border-radius: 7px; font-size: 8px; }
.access-role-dialog,.access-user-dialog { width: min(850px,calc(100vw - 30px)); }
.permission-picker { max-height: 430px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; overflow: auto; }
.permission-picker fieldset,.access-checkbox-section { margin: 0; padding: 12px; border: 1px solid #e0e5ed; border-radius: 11px; }
.permission-picker legend { width: 100%; padding: 0 4px; }
.permission-picker legend label { display: flex; align-items: center; gap: 7px; }
.permission-picker legend span { margin-left: auto; color: #8993a5; font-size: 9px; }
.permission-picker fieldset > div { display: grid; gap: 5px; }
.permission-picker fieldset > div > label,.access-checkbox-section > div > label { padding: 8px; display: flex; align-items: center; gap: 8px; background: #f8f9fc; border-radius: 8px; cursor: pointer; }
.permission-picker input,.access-checkbox-section input { accent-color: var(--blue); }
.permission-picker label > span,.access-checkbox-section label > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.permission-picker label b,.access-checkbox-section label b { color: #445168; font-size: 10px; }
.permission-picker code,.access-checkbox-section small { color: #929bab; font-size: 8px; }
.access-checkbox-section { margin-top: 13px; }
.access-checkbox-section legend { padding: 0 5px; color: #59657a; font-size: 10px; font-weight: 700; }
.access-checkbox-section > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.permission-matrix { padding: 18px; display: grid; gap: 18px; }
.permission-group h3 { margin: 0 0 8px; display: flex; align-items: center; gap: 7px; color: #34445c; font-size: 12px; }
.permission-group h3 small { color: #929baa; font-size: 9px; font-weight: 400; }
.permission-group > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.permission-group article { padding: 11px; display: grid; grid-template-columns: minmax(0,1fr) minmax(100px,auto); align-items: center; gap: 10px; background: #fafbfe; border: 1px solid #e7eaf0; border-radius: 9px; }
.permission-group article > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.permission-group article b { color: #405069; font-size: 10px; }
.permission-group article code { overflow: hidden; color: #98a0ae; font-size: 8px; text-overflow: ellipsis; }
.permission-group article > span { color: #55729e; font-size: 9px; text-align: right; }
.access-data-list { overflow: hidden; }
.access-data-list > article { padding: 14px 18px; display: grid; grid-template-columns: minmax(190px,.8fr) minmax(260px,1.8fr) auto; align-items: center; gap: 15px; border-top: 1px solid #edf0f4; }
.access-person { display: flex; align-items: center; gap: 10px; }
.access-person > span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: #5685d4; border-radius: 10px; font-weight: 700; }
.access-person > div { display: flex; flex-direction: column; gap: 3px; }.access-person b { color: #3e4b60; font-size: 11px; }.access-person small { color: #929baa; font-size: 8px; }
.access-warehouse-tags { display: flex; flex-wrap: wrap; gap: 6px; }.access-warehouse-tags span { display: inline-flex; align-items: center; gap: 4px; }.access-warehouse-tags em { color: #a0a8b5; font-size: 9px; font-style: normal; }
.access-user-card > button { width: 100%; margin-top: 12px; }

@media (max-width: 820px) {
  .access-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }
  .access-role-grid { grid-template-columns: 1fr; }
  .access-role-dialog,.access-user-dialog { width: 100%; }
  .permission-picker,.permission-group > div { grid-template-columns: 1fr; }
  .access-checkbox-section > div { grid-template-columns: 1fr; }
  .access-data-list > article { grid-template-columns: 1fr; padding: 14px; }
  .access-data-list > article button { width: 100%; }
  .permission-group article { grid-template-columns: minmax(0,1fr); }
  .permission-group article > span { text-align: left; }
}

.settings-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; }
.settings-form-card { padding: 20px; }
.settings-section-head { margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.settings-section-head > span { width: 40px; height: 40px; display: grid; place-items: center; color: #3973d2; background: #edf4ff; border-radius: 11px; }
.settings-section-head h2 { margin: 0 0 3px; color: #34445d; font-size: 14px; }.settings-section-head p { margin: 0; color: #8c96a8; font-size: 9px; }
.settings-preview { padding: 11px 12px; display: flex; align-items: center; gap: 9px; color: #bd7044; background: #fff7ef; border: 1px solid #f2e2d1; border-radius: 9px; }
.settings-preview span { display: flex; flex-direction: column; gap: 3px; }.settings-preview b { color: #745442; font-size: 14px; }.settings-preview small { color: #9b7f70; font-size: 12px; }
.settings-updated { padding: 12px 3px 0; color: #929baa; font-size: 9px; text-align: right; }
.audit-filter .filter-main { grid-template-columns: minmax(250px,1fr) 150px 140px 140px; }.audit-filter label:not(.search-field) { display: flex; flex-direction: column; gap: 4px; }.audit-filter label:not(.search-field) span { color: #8993a4; font-size: 8px; }.audit-filter input[type=date] { min-height: 38px; padding: 0 9px; color: #59657a; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.audit-row { cursor: pointer; }.audit-row:hover { background: #f8faff; }.audit-card { cursor: pointer; }.audit-card code { display: block; margin-top: 9px; color: #8a94a5; font-size: 8px; }
.audit-dialog { width: min(720px,calc(100vw - 30px)); }.audit-detail-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.audit-detail-summary > div { padding: 12px; display: flex; flex-direction: column; gap: 5px; background: #f7f9fc; border: 1px solid #e8ebf1; border-radius: 9px; }.audit-detail-summary span { color: #8d97a8; font-size: 8px; }.audit-detail-summary b,.audit-detail-summary code { color: #405069; font-size: 10px; overflow-wrap: anywhere; }
.audit-json { margin-top: 16px; }.audit-json h3 { margin: 0 0 8px; color: #3d4c63; font-size: 11px; }.audit-json dl { max-height: 270px; margin: 0; display: grid; border: 1px solid #e7eaf0; border-radius: 10px; overflow: auto; }.audit-json dl > div { padding: 9px 11px; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 12px; border-bottom: 1px solid #edf0f4; }.audit-json dl > div:last-child { border-bottom: 0; }.audit-json dt { color: #7f899b; font-size: 9px; }.audit-json dd { margin: 0; color: #405069; font-size: 9px; overflow-wrap: anywhere; }.audit-json p { padding: 18px; color: #929baa; background: #fafbfc; border-radius: 9px; font-size: 9px; text-align: center; }

@media (max-width: 820px) {
  .settings-layout { grid-template-columns: 1fr; }.settings-form-card { padding: 15px; }.settings-updated { text-align: left; }
  .audit-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.audit-filter .filter-main { grid-template-columns: 1fr 1fr; }.audit-filter .search-field,.audit-filter select { grid-column: 1 / -1; }.audit-dialog { width: 100%; }.audit-detail-summary { grid-template-columns: 1fr 1fr; }.audit-json dl > div { grid-template-columns: 90px minmax(0,1fr); }
}

.catalog-toolbar { padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.catalog-toolbar .search-field { width: min(360px,42vw); }.catalog-tabs { display: flex; gap: 5px; }.catalog-tabs button { min-height: 36px; padding: 0 13px; color: #6f7a8d; background: transparent; border: 0; border-radius: 8px; font-size: 10px; font-weight: 600; }.catalog-tabs button.active { color: #2d67bd; background: #edf4ff; }
.catalog-list table { min-width: 940px; }.catalog-list td { vertical-align: middle; }.catalog-tags { display: flex; flex-wrap: wrap; gap: 5px; }.catalog-tags span { padding: 4px 7px; color: #536f9b; background: #eef4fc; border-radius: 6px; font-size: 8px; }.catalog-specs { display: grid; gap: 4px; }.catalog-specs span { color: #7d8798; font-size: 8px; line-height: 1.5; }.catalog-specs b { color: #536177; font-size: 8px; }.catalog-card { cursor: pointer; }.catalog-card > button { width: 100%; margin-top: 12px; min-height: 40px; }.catalog-card .catalog-tags,.catalog-card .catalog-specs { margin: 9px 0; }.catalog-dialog { width: min(700px,calc(100vw - 30px)); }.catalog-dialog label > small { margin-top: 2px; color: #929baa; font-size: 8px; line-height: 1.5; }
@media (max-width: 820px) { .catalog-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.catalog-toolbar { align-items: stretch; flex-direction: column; }.catalog-toolbar .search-field { width: 100%; }.catalog-tabs { display: grid; grid-template-columns: repeat(3,1fr); }.catalog-tabs button { padding: 0 5px; }.catalog-dialog { width: 100%; } }

.row-actions { display: flex; align-items: center; gap: 4px; }.mobile-print-button { width: 100%; margin-top: 12px; min-height: 40px; }
.print-primary-tabs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.print-primary-tabs button { justify-content: center; }
.print-document-layout { display: grid; grid-template-columns: minmax(190px,230px) minmax(0,1fr); gap: 16px; align-items: start; }
.print-document-types { position: sticky; top: 16px; padding: 14px; display: grid; gap: 7px; }
.print-document-types > b { margin-bottom: 5px; color: var(--text); font-size: 12px; }
.print-document-types > button { width: 100%; min-height: 44px; padding: 0 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); background: var(--surface-soft); border: 1px solid var(--line); border-radius: 9px; font-weight: 600; text-align: left; }
.print-document-types > button.active { color: var(--accent); background: var(--accent-soft); border-color: var(--accent); }
.print-document-types > button span { min-width: 25px; height: 25px; padding: 0 6px; display: grid; place-items: center; color: inherit; background: var(--surface); border-radius: 999px; font-size: 10px; }
.print-document-content { min-width: 0; display: grid; gap: 12px; }
.print-document-content > .view-tabs { margin: 0; }
.print-template-list table { min-width: 1020px; }
.print-template-card footer { margin-top: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.print-default-mark { margin-top: 9px; padding: 7px 9px; display: block; color: #654fb3; background: #f1edff; border-radius: 8px; font-size: 9px; text-align: center; }
.privacy-rule-card .mobile-card-actions { grid-template-columns: repeat(3,1fr); }
.print-template-dialog { width: min(790px,calc(100vw - 30px)); }.print-field-picker { margin: 0; padding: 12px; display: flex; flex-wrap: wrap; gap: 7px; border: 1px solid #dfe4ec; border-radius: 10px; }.print-field-picker legend { padding: 0 5px; color: #59657a; font-size: 10px; font-weight: 700; }.print-field-picker button { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 5px; color: #788396; background: #f7f8fb; border: 1px solid #e1e5ec; border-radius: 8px; font-size: 9px; }.print-field-picker button svg { opacity: 0; }.print-field-picker button.selected { color: #285eae; background: #edf4ff; border-color: #9ab8e8; }.print-field-picker button.selected svg { opacity: 1; }.switch-field { min-height: 60px; padding: 8px 11px; flex-direction: row !important; align-items: center; border: 1px solid #e1e5ec; border-radius: 9px; }.switch-field input { accent-color: var(--blue); }.switch-field > span { display: flex; flex-direction: column; gap: 3px; }.switch-field b { color: #4b586d; font-size: 10px; }.switch-field small { color: #929baa; font-size: 8px; }
.print-preview-dialog { width: min(920px,calc(100vw - 30px)); max-height: calc(100vh - 28px); overflow: auto; }.print-template-select { margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }.print-template-select span { color: #788397; font-size: 9px; }.print-template-select select { min-width: 240px; min-height: 38px; padding: 0 10px; color: #536076; background: #fff; border: 1px solid #dfe4ec; border-radius: 9px; }.print-preview-stage { min-height: 310px; padding: 24px; display: grid; place-items: start center; overflow: auto; background: #e9edf3; border-radius: 12px; }.print-preview-sheet { box-sizing: border-box; max-width: 100%; padding: 12mm; color: #101318; background: #fff; box-shadow: 0 8px 25px rgba(40,52,75,.16); font-family: "Microsoft YaHei",Arial,sans-serif; }.print-preview-sheet header { padding-bottom: 5mm; display: flex; justify-content: space-between; gap: 10mm; border-bottom: .3mm solid #1d2635; }.print-preview-sheet h1 { margin: 0; font-size: 5mm; }.print-preview-sheet header span { font-size: 3mm; }.print-preview-sheet > section { padding: 5mm 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4mm 7mm; }.print-field { min-width: 0; display: flex; flex-direction: column; gap: 1.5mm; }.print-field small { color: #697386; font-size: 2.5mm; }.print-field b { font-size: 3.4mm; overflow-wrap: anywhere; }.print-field-items,.print-field-qualityItems,.print-field-address { grid-column: 1 / -1; }.print-preview-sheet > footer { padding-top: 3mm; color: #687285; border-top: .2mm solid #ccd1d9; font-size: 2.4mm; text-align: center; }.print-preview-sheet.label-sheet { padding: 3mm; }.print-preview-sheet.label-sheet header { padding-bottom: 1.5mm; align-items: center; border-bottom-width: .2mm; }.print-preview-sheet.label-sheet h1 { font-size: 3mm; }.print-preview-sheet.label-sheet header span { font-size: 2mm; }.print-preview-sheet.label-sheet > section { padding: 1.7mm 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.2mm 2mm; }.print-preview-sheet.label-sheet .print-field small { font-size: 1.8mm; }.print-preview-sheet.label-sheet .print-field b { font-size: 2.4mm; }.print-preview-sheet.label-sheet .print-field-documentNo,.print-preview-sheet.label-sheet .print-field-product,.print-preview-sheet.label-sheet .print-field-imei { grid-column: 1 / -1; }.print-preview-sheet.label-sheet > footer { padding-top: 1mm; font-size: 1.5mm; }
.print-preview-sheet.packing-label-sheet { padding: 6mm; }.print-preview-sheet.packing-label-sheet header { padding-bottom: 3mm; }.print-preview-sheet.packing-label-sheet h1 { font-size: 4mm; }.print-preview-sheet.packing-label-sheet > section { padding: 4mm 0; grid-template-columns: 1fr; gap: 3mm; }.print-preview-sheet.packing-label-sheet .print-field b { font-size: 4mm; }.print-preview-sheet.packing-label-sheet .print-field-documentNo b { font-size: 7mm; letter-spacing: .4mm; }

@media (max-width: 820px) {
  .print-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.print-page .filter-button { flex: 1 1 100%; width: 100%; justify-content: center; font-size: 11px; }.print-primary-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }.print-primary-tabs button { min-width: 0; min-height: 44px; }.print-primary-tabs button:last-child { grid-column: 1 / -1; }.print-document-layout { grid-template-columns: 1fr; }.print-document-types { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }.print-document-types > b { grid-column: 1 / -1; }.print-document-types > button { min-width: 0; }.print-document-content .view-tabs { width: 100%; }.print-template-dialog,.print-preview-dialog { width: 100%; }.print-preview-stage { min-height: 260px; padding: 12px; justify-items: start; }.print-preview-sheet { max-width: none; transform-origin: top left; }.print-template-select { align-items: stretch; flex-direction: column; }.print-template-select select { width: 100%; }.print-dialog-backdrop { align-items: flex-start; }.print-dialog-backdrop .dialog-footer { position: sticky; bottom: -1px; padding-top: 10px; background: var(--surface); }.print-template-card footer button,.privacy-rule-card .mobile-card-actions button { min-height: 44px; }
}

@media print {
  body * { visibility: hidden !important; }
  .print-preview-sheet,.print-preview-sheet * { visibility: visible !important; }
  .print-preview-sheet { position: absolute; inset: 0 auto auto 0; max-width: none; margin: 0; box-shadow: none; }
  body { margin: 0; background: #fff; }
}

.quality-score-note { margin-left: 8px; color: #8b95a6; font-size: 8px; font-weight: 400; }.required-mark { margin-left: 6px; padding: 2px 5px; color: #b94f47; background: #fff0ee; border-radius: 5px; font-size: 7px; font-style: normal; }.quality-template-card footer { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.quality-template-dialog { width: min(980px,calc(100vw - 30px)); max-height: calc(100vh - 28px); overflow: auto; }.quality-category-picker { margin: 0; padding: 12px; display: flex; flex-wrap: wrap; gap: 7px; border: 1px solid #dfe4ec; border-radius: 10px; }.quality-category-picker legend { padding: 0 5px; color: #59657a; font-size: 10px; font-weight: 700; }.quality-category-picker button { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 5px; color: #788396; background: #f7f8fb; border: 1px solid #e1e5ec; border-radius: 8px; font-size: 9px; }.quality-category-picker button svg { opacity: 0; }.quality-category-picker button.selected { color: #285eae; background: #edf4ff; border-color: #9ab8e8; }.quality-category-picker button.selected svg { opacity: 1; }
.quality-template-items,.quality-grade-rules { margin-top: 16px; padding: 15px; border: 1px solid #e3e7ed; border-radius: 12px; }.quality-template-section-head { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.quality-template-section-head > div { display: flex; flex-direction: column; gap: 3px; }.quality-template-section-head b { color: #3b4a62; font-size: 12px; }.quality-template-section-head span { color: #8b95a6; font-size: 8px; }.quality-template-section-head strong.ok { color: #18805b; }.quality-template-section-head strong.warning { color: #bd534a; }.quality-template-items > article { margin-top: 7px; padding: 9px; display: grid; grid-template-columns: minmax(120px,.75fr) minmax(150px,1fr) 90px 90px 58px 34px; align-items: end; gap: 7px; background: #fafbfe; border-radius: 9px; }.quality-template-items label,.quality-grade-rules label { display: flex; flex-direction: column; gap: 4px; }.quality-template-items label span,.quality-grade-rules label span { color: #8993a4; font-size: 8px; }.quality-template-items input,.quality-grade-rules input { min-height: 36px; padding: 0 9px; color: #4f5c72; background: #fff; border: 1px solid #e0e4eb; border-radius: 8px; }.quality-template-items .quality-required { min-height: 36px; flex-direction: row; align-items: center; color: #667187; font-size: 9px; }.quality-template-items .quality-required input { min-height: auto; accent-color: var(--blue); }.quality-grade-rules > div:last-child { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.quality-template-preview { width: min(760px,calc(100vw - 30px)); }.quality-rule-preview { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.quality-rule-preview article { padding: 11px; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; background: #fafbfe; border: 1px solid #e7eaf0; border-radius: 9px; }.quality-rule-preview article > div { display: flex; flex-direction: column; gap: 3px; }.quality-rule-preview b { color: #3d4b62; font-size: 10px; }.quality-rule-preview code,.quality-rule-preview small { color: #929baa; font-size: 8px; }.quality-rule-preview span { color: #c05950; font-size: 8px; }.quality-rule-preview strong { color: #315f9f; font-size: 11px; }.quality-grade-preview { margin: 13px 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }.quality-grade-preview span { padding: 11px; display: flex; align-items: center; justify-content: space-between; background: #eef4fc; border-radius: 9px; }.quality-grade-preview b { color: #315f9f; font-size: 12px; }.quality-grade-preview small { color: #73819a; font-size: 8px; }
@media (max-width: 820px) { .quality-template-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.quality-template-dialog,.quality-template-preview { width: 100%; }.quality-template-items > article { grid-template-columns: 1fr 1fr; }.quality-template-items > article label:nth-child(1),.quality-template-items > article label:nth-child(2) { grid-column: 1 / -1; }.quality-template-items > article > button { justify-self: end; }.quality-grade-rules > div:last-child { grid-template-columns: repeat(2,1fr); }.quality-grade-rules > div:last-child label:last-child { grid-column: 1 / -1; }.quality-rule-preview { grid-template-columns: 1fr; }.quality-grade-preview { grid-template-columns: repeat(2,1fr); }.quality-grade-preview span:last-child { grid-column: 1 / -1; }.quality-template-card footer button { min-height: 42px; }.quality-score-note { display: block; margin: 4px 0 0; } }

.integration-security { margin-bottom: 14px; padding: 14px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid; border-radius: 12px; }.integration-security.secure { color: #278365; background: #effbf7; border-color: #d3eee4; }.integration-security.warning { color: #b36b3f; background: #fff8ef; border-color: #f0dfca; }.integration-security > div { display: flex; flex-direction: column; gap: 3px; }.integration-security b { color: #405069; font-size: 11px; }.integration-security span { font-size: 9px; line-height: 1.5; }
.integration-panel { overflow: hidden; }.integration-tabs { flex-wrap: wrap; }.integration-grid { padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.integration-card { padding: 16px; display: flex; flex-direction: column; gap: 13px; border: 1px solid #e2e7ef; border-radius: 13px; }.integration-card header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; }.integration-card header > span { width: 38px; height: 38px; display: grid; place-items: center; color: #3973d2; background: #edf4ff; border-radius: 10px; }.integration-card header > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.integration-card header b { color: #35445c; font-size: 12px; }.integration-card header small { overflow: hidden; color: #929baa; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.integration-card header em { font-style: normal; }.integration-card dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.integration-card dl div { min-width: 0; padding: 9px 10px; display: flex; flex-direction: column; gap: 4px; background: #f8f9fc; border-radius: 8px; }.integration-card dt { color: #929baa; font-size: 8px; }.integration-card dd { margin: 0; overflow: hidden; color: #4b596f; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.integration-card footer { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.integration-validation { margin: 0; padding: 9px 10px; color: #60718d; background: #f2f6fc; border-radius: 8px; font-size: 9px; line-height: 1.5; }
.integration-dialog { width: min(800px,calc(100vw - 30px)); }.integration-options { min-height: 105px !important; font-family: Consolas,monospace; font-size: 10px; }.integration-clear { margin-top: 13px; padding: 11px; display: flex; align-items: flex-start; gap: 9px; background: #fff7f5; border: 1px solid #f1ded9; border-radius: 10px; cursor: pointer; }.integration-clear input { margin-top: 2px; accent-color: #c65b50; }.integration-clear span { display: flex; flex-direction: column; gap: 3px; }.integration-clear b { color: #79544f; font-size: 10px; }.integration-clear small { color: #9b7771; font-size: 8px; line-height: 1.5; }
@media (max-width: 820px) { .integration-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.integration-grid { padding: 11px; grid-template-columns: 1fr; }.integration-tabs { display: grid; grid-template-columns: repeat(2,1fr); width: 100%; }.integration-tabs button:first-child { grid-column: 1 / -1; }.integration-dialog { width: 100%; }.integration-card footer button { min-height: 42px; }.integration-security { align-items: flex-start; } }

.loan-ready-strip { margin-bottom: 14px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #3474c5; background: #eff6ff; border: 1px solid #d7e7fb; border-radius: 12px; }.loan-ready-strip > div { display: flex; align-items: center; gap: 11px; }.loan-ready-strip span { display: flex; flex-direction: column; gap: 3px; }.loan-ready-strip b { color: #3f5069; font-size: 11px; }.loan-ready-strip small { color: #7f8da2; font-size: 8px; }.loan-list table { min-width: 1050px; }.loan-dialog { width: min(780px,calc(100vw - 30px)); }.loan-detail-dialog { width: min(900px,calc(100vw - 30px)); max-height: calc(100vh - 28px); overflow: auto; }
.risk-level { padding: 4px 8px; display: inline-flex; border-radius: 7px; font-size: 9px; font-weight: 700; }.risk-level.紧急 { color: #b8443d; background: #fff0ee; }.risk-level.重要 { color: #ad653d; background: #fff5e9; }.risk-level.提醒 { color: #326cae; background: #edf5ff; }.extension-dialog { width: min(820px,calc(100vw - 30px)); max-height: calc(100vh - 28px); overflow: auto; }.extension-picker { max-height: 310px; margin: 14px 0; display: grid; gap: 7px; overflow: auto; }.extension-picker > label,.extension-picker.static > div { min-height: 54px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; background: #f8f9fc; border: 1px solid #e7eaf0; border-radius: 9px; }.extension-picker input[type=checkbox] { accent-color: var(--blue); }.extension-picker span { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 3px; }.extension-picker b { color: #405069; font-size: 10px; }.extension-picker small { color: #929baa; font-size: 8px; }.extension-picker p { padding: 24px; color: #929baa; text-align: center; }.quantity-input { width: 68px; min-height: 36px; padding: 0 8px; color: #4f5c72; background: #fff; border: 1px solid #dfe4eb; border-radius: 8px; }.inventory-extension-page table { min-width: 900px; }.detail-grid { margin: 14px 0; padding: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #f8f9fc; border: 1px solid #e7eaf0; border-radius: 10px; }.detail-grid > div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }.detail-grid small { color: #929baa; font-size: 9px; }.detail-grid b { color: #405069; font-size: 11px; overflow-wrap: anywhere; }
.loan-info-grid { margin: 14px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.loan-info-grid > div { min-width: 0; padding: 11px 12px; display: flex; flex-direction: column; gap: 4px; background: #f8f9fc; border: 1px solid #e9ecf1; border-radius: 9px; }.loan-info-grid > div.full { grid-column: 1 / -1; }.loan-info-grid small { color: #929baa; font-size: 8px; }.loan-info-grid b { color: #45536a; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.loan-return-box { margin: 16px 0; padding: 15px; display: grid; gap: 13px; background: #f7faff; border: 1px solid #dfe9f8; border-radius: 12px; }.loan-return-box h3 { margin: 0 0 4px; color: #34445d; font-size: 12px; }.loan-return-box p { margin: 0; color: #8490a2; font-size: 9px; }.loan-return-box > button { justify-self: end; }.loan-condition-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.loan-condition-picker > button { min-height: 60px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; color: #748094; background: #fff; border: 1px solid #dfe4eb; border-radius: 10px; text-align: left; }.loan-condition-picker > button.selected { color: #267b5c; background: #eefaf6; border-color: #98d3bd; }.loan-condition-picker > button.warning.selected { color: #ad653d; background: #fff6ec; border-color: #e7ba91; }.loan-condition-picker span { display: flex; flex-direction: column; gap: 3px; }.loan-condition-picker b { color: #435169; font-size: 10px; }.loan-condition-picker small { color: #8c96a6; font-size: 8px; }.loan-card > button { width: 100%; margin-top: 12px; min-height: 44px; }
.loan-warning-banner { margin: 14px 0; padding: 12px 14px; display: flex; align-items: center; gap: 10px; color: #9a5b20; background: #fff8e9; border: 1px solid #efd097; border-radius: 10px; }.loan-warning-banner.overdue { color: #b34242; background: #fff2f2; border-color: #efb7b7; }.loan-warning-banner span { display: flex; flex-direction: column; gap: 3px; }.loan-warning-banner b { font-size: 11px; }.loan-warning-banner small { font-size: 9px; color: inherit; opacity: .8; }
@media (max-width: 820px) { .loan-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.loan-ready-strip { align-items: stretch; flex-direction: column; }.loan-ready-strip > button { width: 100%; min-height: 44px; }.loan-dialog,.loan-detail-dialog { width: 100%; }.loan-info-grid { grid-template-columns: 1fr; }.loan-info-grid > div.full { grid-column: auto; }.loan-condition-picker { grid-template-columns: 1fr; }.loan-condition-picker > button { min-height: 64px; }.loan-return-box > button { width: 100%; min-height: 44px; }.loan-detail-dialog .dialog-footer { display: grid; grid-template-columns: 1fr; }.loan-detail-dialog .dialog-footer button { width: 100%; min-height: 42px; } }
@media (max-width: 820px) { .inventory-extension-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.extension-dialog { width: 100%; }.extension-picker > label,.extension-picker.static > div { min-height: 64px; }.detail-grid { grid-template-columns: 1fr; }.inventory-extension-page .page-heading > button { width: 100%; min-height: 44px; }.inventory-extension-page .mobile-stock-card > button { width: 100%; min-height: 42px; margin-top: 10px; } }

.part-import-workspace { margin-bottom: 15px; padding: 18px; overflow: hidden; }
.part-import-toolbar { display: grid; grid-template-columns: auto minmax(140px,.7fr) minmax(260px,1.3fr); align-items: center; gap: 12px; }
.part-import-toolbar label { cursor: pointer; white-space: nowrap; }
.part-import-toolbar input[type=file] { display: none; }
.part-import-toolbar > span { min-width: 0; overflow: hidden; color: #4c586c; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.part-import-toolbar > small { min-width: 0; color: #8791a2; font-size: 9px; line-height: 1.5; text-align: right; overflow-wrap: anywhere; }
.part-import-workspace > textarea { width: 100%; min-height: 180px; margin-top: 14px; padding: 13px 14px; color: #405069; background: #fafbfc; border: 1px solid #dfe4eb; border-radius: 10px; outline: 0; resize: vertical; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: 10px; line-height: 1.65; }
.part-import-workspace > textarea:focus { background: #fff; border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.part-import-summary { min-height: 54px; padding: 11px 0 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.part-import-summary > span { color: #667287; font-size: 10px; line-height: 1.5; }
.part-import-summary > .form-error { margin: 0; padding: 8px 10px; }
.part-import-summary > button { min-width: 128px; }
.part-import-workspace .inventory-table-wrap { margin-top: 13px; border: 1px solid #e8ebf0; border-radius: 10px; }
.part-import-workspace table { min-width: 760px; }
.part-import-workspace .inventory-table-wrap > small { display: block; padding: 10px 13px; color: #8a94a5; font-size: 9px; }
@media (max-width: 820px) { .parts-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.parts-page .page-heading > button { width: 100%; min-height: 44px; }.part-import-workspace { padding: 14px; }.part-import-toolbar { grid-template-columns: 1fr; align-items: stretch; }.part-import-toolbar label { width: 100%; min-height: 44px; }.part-import-toolbar > span { padding: 0 2px; }.part-import-toolbar > small { padding: 10px 11px; background: #f6f8fb; border-radius: 9px; text-align: left; }.part-import-workspace > textarea { min-height: 210px; font-size: 11px; }.part-import-summary { align-items: stretch; flex-direction: column; }.part-import-summary > button { width: 100%; min-height: 44px; }.part-import-workspace .inventory-table-wrap { display: none; }.parts-page .mobile-stock-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.extension-dialog .dialog-footer { position: sticky; bottom: calc(-24px - env(safe-area-inset-bottom)); margin: 18px -24px -24px; padding: 12px 24px calc(18px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f4; }.extension-dialog .dialog-footer button { min-height: 44px; } }
@media (max-width: 820px) {
  .parts-workspace-page .page-heading { align-items: stretch; }
  .parts-workspace-page .heading-actions { width: 100%; }
  .parts-workspace-page .heading-actions button { flex: 1; min-height: 44px; display: inline-flex; justify-content: center; }
  .parts-workspace-page .heading-actions .secondary-button { display: inline-flex; }
  .part-disassembly-workspace-page .page-heading { align-items: stretch; }
  .part-disassembly-workspace-page .heading-actions { width: 100%; }
  .part-disassembly-workspace-page .heading-actions button { width: 100%; min-height: 44px; display: inline-flex; justify-content: center; }
  .part-disassembly-workspace-page .heading-actions .secondary-button { display: inline-flex; }
  .part-stock-filter .filter-main,
  .part-movement-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .part-stock-filter .search-field,
  .part-movement-filter .search-field,
  .part-stock-filter .filter-button,
  .part-movement-filter .filter-button { grid-column: 1 / -1; }
  .part-stock-filter .filter-main > select,
  .part-movement-filter .filter-main > select { min-height: 44px; }
  .part-stock-filter .parts-low-filter { min-height: 44px; justify-content: center; }
  .part-movement-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .part-movement-filter input[type='date'] { min-height: 44px; }
  .part-stock-filter .filter-button,
  .part-movement-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
  .part-import-history-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .part-import-history-filter .search-field,
  .part-import-history-filter .filter-main > select,
  .part-import-history-filter .filter-button { grid-column: 1 / -1; }
  .part-import-history-filter .filter-main > select,
  .part-import-history-filter input[type='date'] { min-height: 44px; }
  .part-import-history-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .part-import-history-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
}
@media (max-width: 430px) { .part-import-workspace { margin-right: -2px; margin-left: -2px; padding: 12px; }.part-import-workspace > textarea { min-height: 230px; }.extension-dialog .dialog-footer { display: grid; grid-template-columns: 1fr; }.extension-dialog .dialog-footer button { width: 100%; } }
.mobile-empty-state { min-height: 150px; padding: 24px 16px; background: #fff; border: 1px dashed #dbe2ec; border-radius: 13px; }

.tool-single-query { margin-bottom: 15px; padding: 16px; display: grid; grid-template-columns: minmax(280px,1fr) auto; gap: 10px; }
.tool-single-query label { height: 46px; padding: 0 13px; display: flex; align-items: center; gap: 10px; color: var(--blue); background: #f7faff; border: 1px solid #c9d9f6; border-radius: 11px; }
.tool-single-query label:focus-within { border-color: #4f82e5; box-shadow: 0 0 0 3px #eaf1ff; }
.tool-single-query input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: 12px; }
.tool-single-query > button { height: 46px; min-width: 128px; }
.tool-empty { min-height: 230px; }
.tool-item-result { margin-bottom: 15px; padding: 20px; }
.tool-item-result header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.tool-item-result header small { color: #929baa; font-size: 9px; }
.tool-item-result h2 { margin: 16px 0 5px; color: #2f3d55; font-size: 18px; }.tool-item-result > p { margin: 0; color: #8490a2; font-size: 10px; }
.tool-item-result dl { margin: 18px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.tool-item-result dl div { min-width: 0; padding: 12px 13px; display: flex; flex-direction: column; gap: 5px; background: #f7f9fc; border-radius: 9px; }.tool-item-result dt { color: #939cad; font-size: 8px; }.tool-item-result dd { margin: 0; overflow: hidden; color: #45536a; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.tool-query-workspace { margin-bottom: 15px; padding: 17px; }.tool-query-workspace textarea { width: 100%; min-height: 170px; padding: 13px; color: #435069; background: #fafbfc; border: 1px solid #dfe4eb; border-radius: 10px; outline: 0; resize: vertical; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: 11px; line-height: 1.6; }.tool-query-workspace textarea:focus { background: #fff; border-color: #7da4ef; box-shadow: 0 0 0 3px #edf3ff; }
.tool-query-actions { padding-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.tool-query-actions span { color: #7e899b; font-size: 9px; }
.tool-history-panel table { min-width: 940px; }.tool-trace { overflow: hidden; }.tool-trace .recycle-history { padding: 0 20px 20px; }.tool-trace .empty-state { min-height: 150px; }
@media (max-width: 820px) { .tools-page .inventory-metrics { grid-template-columns: repeat(2,1fr); }.tool-single-query { grid-template-columns: 1fr; padding: 13px; }.tool-single-query label,.tool-single-query > button { min-height: 46px; width: 100%; }.tool-item-result { padding: 16px; }.tool-item-result dl { grid-template-columns: repeat(2,minmax(0,1fr)); }.tool-query-workspace { padding: 13px; }.tool-query-workspace textarea { min-height: 210px; }.tool-query-actions { align-items: stretch; flex-direction: column; }.tool-query-actions > button { width: 100%; min-height: 44px; }.tool-history-panel { background: transparent; border: 0; }.tool-trace .recycle-history { padding: 0 14px 18px; } }
@media (max-width: 430px) { .tool-item-result dl { grid-template-columns: 1fr; }.tool-item-result dd { white-space: normal; overflow-wrap: anywhere; } }
.blacklist-list table { min-width: 1080px; }
.tools-advanced-filter .filter-main { grid-template-columns: minmax(240px,1.6fr) minmax(120px,.65fr) minmax(130px,.75fr) 140px 140px auto; align-items: end; }
.video-advanced-filter .filter-main { grid-template-columns: minmax(240px,1.6fr) repeat(3,minmax(120px,.65fr)) 140px 140px auto; }
.tool-history-filter .filter-main { grid-template-columns: minmax(240px,1.6fr) repeat(3,minmax(120px,.65fr)) 140px 140px auto; }
.tools-advanced-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.tools-advanced-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.tools-advanced-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; }
.blacklist-toolbar { gap: 14px; }
.blacklist-toolbar > div:first-child { flex-shrink: 0; }
.blacklist-filters { display: flex; align-items: center; gap: 8px; }
.blacklist-filters label { height: 34px; min-width: 240px; padding: 0 10px; display: flex; align-items: center; gap: 7px; color: #7b8799; background: #f8f9fc; border: 1px solid #e1e5ec; border-radius: 9px; }
.blacklist-filters input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 10px; }
.blacklist-filters select { height: 34px; padding: 0 28px 0 10px; color: #59657a; background: #fff; border: 1px solid #e1e5ec; border-radius: 9px; font-size: 10px; }
.risk-hint { margin-top: 14px; padding: 11px 12px; display: flex; align-items: flex-start; gap: 8px; color: #99564f; background: #fff7f5; border: 1px solid #f2d5cf; border-radius: 10px; font-size: 10px; line-height: 1.55; }
.risk-hint svg { flex: 0 0 auto; margin-top: 1px; }
.dialog-field { display: flex; flex-direction: column; gap: 7px; }
.dialog-field > span { color: #5a6478; font-size: 11px; font-weight: 600; }
.dialog-field textarea { min-height: 110px; padding: 11px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; outline: 0; resize: vertical; font-size: 11px; }
.blacklist-release-target { margin-bottom: 15px; padding: 14px; display: grid; gap: 5px; background: #f7f9fc; border-radius: 11px; }
.blacklist-release-target span,.blacklist-release-target small { color: #8b95a6; font-size: 9px; }
.blacklist-release-target b { color: #33435c; font-size: 13px; }
.blacklist-release-note { margin-top: 12px; padding: 9px 10px; color: #66738a; background: #f2f5f8; border-radius: 8px; font-size: 9px; line-height: 1.5; }
.blacklist-card > .secondary-button { width: 100%; min-height: 44px; margin-top: 13px; color: #bc4848; border-color: #efc8c8; }
@media (max-width: 820px) {
  .blacklist-page .heading-actions,.video-page .heading-actions { width: 100%; display: flex; }
  .blacklist-page .heading-actions button,.video-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .blacklist-page .heading-actions .secondary-button,.video-page .heading-actions .secondary-button,.tool-history-page .heading-actions .secondary-button { display: inline-flex; }
  .tool-history-page .heading-actions { width: 100%; }
  .tool-history-page .heading-actions button { width: 100%; min-height: 44px; justify-content: center; }
  .tools-advanced-filter .filter-main { display: flex; }
  .tools-advanced-filter .filter-main > select { flex: 1 1 calc(50% - 6px); }
  .tools-advanced-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }
  .tools-advanced-filter input[type='date'] { min-height: 44px; }
  .tools-advanced-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 44px; justify-content: center; font-size: 11px; }
  .blacklist-toolbar { padding-bottom: 10px !important; align-items: stretch; flex-direction: column; }
  .blacklist-toolbar > div:first-child { min-height: 34px; justify-content: space-between; }
  .blacklist-filters { display: grid; grid-template-columns: 1fr auto; }
  .blacklist-filters label { min-width: 0; grid-column: 1 / -1; min-height: 44px; }
  .blacklist-filters select,.blacklist-filters button { min-height: 44px; }
  .blacklist-card dl { grid-template-columns: 1fr 1fr; }
  .compact-dialog .form-grid input,.compact-dialog .form-grid textarea,.compact-dialog .dialog-field textarea { min-height: 44px; }
  .compact-dialog .dialog-footer button { flex: 1; min-height: 44px; }
}
.video-scope-note { margin-bottom: 14px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; color: #3d79c8; background: #eef6ff; border: 1px solid #d6e7fb; border-radius: 12px; }
.video-scope-note > div { display: flex; flex-direction: column; gap: 3px; }
.video-scope-note b { color: #3d4d65; font-size: 11px; }.video-scope-note span { color: #77869b; font-size: 9px; line-height: 1.5; }
.video-list table { min-width: 1120px; }.video-list td { vertical-align: middle; }
.video-toolbar { gap: 14px; }.video-toolbar > div:first-child { flex-shrink: 0; }
.video-filters { display: flex; align-items: center; gap: 7px; }
.video-filters label { height: 34px; min-width: 250px; padding: 0 10px; display: flex; align-items: center; gap: 7px; color: #7b8799; background: #f8f9fc; border: 1px solid #e1e5ec; border-radius: 9px; }
.video-filters input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 10px; }
.video-filters select { height: 34px; padding: 0 27px 0 9px; color: #59657a; background: #fff; border: 1px solid #e1e5ec; border-radius: 9px; font-size: 10px; }
.video-path { display: block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-card-storage { margin-top: 12px; padding: 10px 11px; display: flex !important; align-items: flex-start !important; flex-direction: column; gap: 4px; background: #f5f8fc; border-radius: 9px; }
.video-card-storage b { color: #43516a; font-size: 10px; }.video-card-storage span { width: 100%; color: #8792a5; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.video-card .card-actions { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.video-card .card-actions button { min-height: 42px; }
.video-dialog { width: min(700px,calc(100vw - 30px)); }.video-dialog-tip { margin-top: 13px; padding: 9px 11px; color: #69768b; background: #f3f6fa; border-radius: 9px; font-size: 9px; line-height: 1.5; }
@media (max-width: 820px) {
  .video-page .page-heading > button { min-height: 44px; }
  .video-scope-note { align-items: flex-start; }
  .video-toolbar { padding-bottom: 10px !important; align-items: stretch; flex-direction: column; }
  .video-toolbar > div:first-child { min-height: 34px; justify-content: space-between; }
  .video-toolbar > .video-filters { display: grid; grid-template-columns: 1fr 1fr; }
  .video-filters label { min-width: 0; min-height: 44px; grid-column: 1 / -1; }
  .video-filters select,.video-filters button { min-height: 44px; }
  .video-filters button { width: 100%; grid-column: 1 / -1; }
  .video-dialog { width: 100%; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .video-dialog .form-grid input,.video-dialog .form-grid select,.video-dialog .form-grid textarea { min-height: 44px; }
  .video-dialog .dialog-footer { position: sticky; bottom: calc(-20px - env(safe-area-inset-bottom)); margin: 18px -24px -20px; padding: 12px 24px calc(18px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eef0f4; }
  .video-dialog .dialog-footer button,.video-card .card-actions button { min-height: 44px; }
}
body.access-users-readonly .access-page .page-heading > button,
body.access-users-readonly .access-page .table-toolbar > button,
body.access-users-readonly .access-page td > .text-link,
body.access-users-readonly .access-page .access-user-card > button,
body.access-users-readonly .access-page .access-data-list > article > button,
body.access-roles-readonly .access-page .page-heading > button,
body.access-roles-readonly .access-page .access-role-card > button {
  display: none;
}

body.transfer-create-readonly .transfer-page .page-heading .primary-button,
body.transfer-create-readonly .transfer-page .table-toolbar > .secondary-button,
body.stocktake-create-readonly .stocktake-page .page-heading .primary-button,
body.stocktake-create-readonly .stocktake-page .table-toolbar > .secondary-button,
body.stocktake-execute-readonly .stocktake-dialog .stocktake-scan,
body.stocktake-confirm-readonly .stocktake-dialog .recycle-action-box,
body.packing-create-readonly .inventory-extension-page .page-heading > .primary-button,
body.packing-create-readonly .extension-dialog .dialog-footer > .primary-button,
body.packing-unpack-readonly .extension-dialog .dialog-footer > .danger-button,
body.assembly-create-readonly .inventory-extension-page .page-heading > .primary-button,
body.assembly-dismantle-readonly .inventory-extension-page table .secondary-button,
body.assembly-dismantle-readonly .inventory-extension-page .mobile-inventory-list .secondary-button,
body.movement-action-readonly .movement-page .heading-actions,
body.movement-action-readonly .movement-page .table-toolbar > button,
body.purchase-create-readonly .purchase-workspace-page .page-heading .primary-button,
body.purchase-quote-readonly .purchase-workspace-page .purchase-workspace-list table tbody td:last-child > button,
body.purchase-quote-readonly .purchase-workspace-page .purchase-workspace-card > button,
body.purchase-create-readonly .purchase-extension-page .page-heading > .primary-button,
body.recycle-create-readonly .recycle-page .table-toolbar > button,
body.after-sales-create-readonly .after-sales-page .table-toolbar > button {
  display: none;
}

/* 可读字号最终覆盖：保证旧业务页面中较小的历史字号也同步提升。 */
.app-shell small, .login-page small { font-size: 11px !important; }
.app-shell p, .login-page p { font-size: 13px !important; }
.app-shell button, .app-shell input, .app-shell select, .app-shell textarea,
.login-page button, .login-page input { font-size: 13px !important; }
.app-shell th { font-size: 12px !important; }.app-shell td, .app-shell td b { font-size: 13px !important; }
.app-shell .status-badge, .app-shell .text-link { font-size: 12px !important; }
.nav-section-title { font-size: 11px !important; }.nav-item span, .subnav-list button { font-size: 13px !important; }
.breadcrumb, .connection-badge, .global-search > span, .scan-top-button,
.quick-card b, .stat-head, .panel-head h2, .table-toolbar b,
.metric span, .todo-item b, .form-grid label > span { font-size: 13px !important; }
.profile-button b, .utility-action-button, .message-card b, .help-groups h3,
.theme-options b, .download-card b { font-size: 12px !important; }

/* 高频表格统一：表头排序与桌面/手机共用分页。 */
.table-sort-button { min-height: 34px; margin: 0 -7px; padding: 0 7px; display: inline-flex; align-items: center; gap: 5px; color: inherit; background: transparent; border: 0; border-radius: 7px; font-weight: 600; white-space: nowrap; }
.number .table-sort-button { margin-left: auto; }
.table-sort-button:hover, .table-sort-button.active { color: var(--blue); background: var(--blue-soft); }
.table-sort-button svg { transition: transform .16s ease; }
.table-sort-button svg.ascending { transform: rotate(180deg); }
.table-pager { min-height: 60px; padding: 10px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 18px; color: #7f899b; border-top: 1px solid #eef0f4; background: #fff; font-size: 12px; }
.table-pager label, .table-pager > div { display: flex; align-items: center; gap: 8px; }
.table-pager select { height: 36px; padding: 0 28px 0 10px; color: #566177; background: #fff; border: 1px solid #dfe3ea; border-radius: 8px; }
.table-pager b { min-width: 58px; color: #49546a; text-align: center; }
:root[data-theme='dark'] .table-pager { color: #aab5c5; background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .table-pager select { color: #dce3ed; background: #151d29; border-color: #394355; }

@media (max-width: 820px) {
  .table-pager { margin-top: 10px; padding: 12px; align-items: stretch; flex-wrap: wrap; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 13px; }
  .table-pager > span { flex: 1 1 100%; }
  .table-pager > div { margin-left: auto; }
  .table-pager select, .table-pager .secondary-button { min-height: 44px; }
}

/* 后声明以覆盖各业务模块后续定义的浅色背景。 */
:root[data-theme='dark'] .app-shell { color: #e4e9f2; background: #111722; }
:root[data-theme='dark'] .app-shell :is(.panel,.filter-panel,.metric,.mobile-stock-card,.settings-form-card,.quality-template-items,.quality-grade-rules,.integration-card,.finance-account-card,.part-import-workspace,.tool-query-workspace,.catalog-list,.print-field-picker,.extension-dialog,.task-transfer-dialog) { background-color: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .app-shell :is(.quality-template-items>article,.quality-rule-preview article,.integration-card dl div,.settings-preview,.purchase-device,.bargain-price-summary>div,.tool-item-result,.part-import-toolbar>small,.quantity-input) { color: #c1cad7; background-color: #171f2b; border-color: #30394a; }
:root[data-theme='dark'] .app-shell :is(h1,h2,h3,b,strong,dd) { color: #e7ecf4; }
:root[data-theme='dark'] .app-shell :is(p,small,dt,label,span) { border-color: #30394a; }
:root[data-theme='dark'] .app-shell :is(input,select,textarea) { color: #dce3ed; background-color: #151d29; border-color: #394355; }
:root[data-theme='dark'] .app-shell .dialog-footer { background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .app-shell .mobile-empty-state { background: #1b2230; border-color: #394355; }
:root[data-theme='dark'] .app-shell .accent-section { background: #1b2230; border-color: #30394a; }
:root[data-theme='dark'] .app-shell .accent-section b { color: #e7ecf4; }
:root[data-theme='dark'] .app-shell .accent-options button { background: #151d29; border-color: transparent; }
:root[data-theme='dark'] .app-shell .accent-options button.selected { background: #202a3a; border-color: var(--blue); }
:root[data-theme='dark'] .finance-analysis-tabs button.active { background: var(--blue-soft); }
:root[data-theme='dark'] .finance-analysis-search > div,
:root[data-theme='dark'] .finance-analysis-pagination select { color: #dce3ed; background: #151d29; border-color: #394355; }
:root[data-theme='dark'] .finance-analysis-checks { border-color: #30394a; }
:root[data-theme='dark'] .finance-analysis-page tfoot td { color: #e7ecf4; background: #171f2b; border-color: #394355; }

@media (max-width: 820px) {
  .finance-analysis-page .page-heading { align-items: stretch; }
  .finance-analysis-page .heading-actions { width: 100%; }
  .finance-analysis-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .finance-analysis-tabs { overflow-x: auto; flex-wrap: nowrap; scroll-snap-type: x proximity; }
  .finance-analysis-tabs button { min-height: 44px; flex: 0 0 auto; scroll-snap-align: start; }
  .finance-analysis-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .finance-analysis-filter .filter-main > label, .finance-analysis-search { grid-column: 1 / -1; }
  .finance-analysis-filter .filter-main > label:nth-child(1), .finance-analysis-filter .filter-main > label:nth-child(2) { grid-column: auto; }
  .finance-analysis-filter input[type='date'], .finance-analysis-filter select, .finance-analysis-search > div { min-height: 44px; }
  .finance-analysis-filter-actions { grid-column: 1 / -1; }
  .finance-analysis-filter-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .finance-analysis-checks { align-items: flex-start; flex-direction: column; }
  .finance-analysis-checks label { min-height: 44px; }
  .finance-analysis-checks > span { margin-left: 0; line-height: 1.6; }
  .finance-analysis-page .table-toolbar { align-items: stretch; flex-direction: column; }
  .finance-analysis-pagination { width: 100%; justify-content: space-between; }
  .finance-analysis-pagination select, .finance-analysis-pagination button { min-height: 44px; }
  .finance-analysis-page .mobile-stock-card dl { grid-template-columns: 1fr 1fr; gap: 10px; }
}

.sales-import-requirements { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.sales-import-requirements article { min-height: 96px; padding: 16px; display: flex; align-items: flex-start; gap: 12px; background: #fafbfc; border: 1px solid #e5e9ef; border-radius: 12px; }
.sales-import-requirements article > span { flex: 0 0 auto; }
.sales-import-requirements article div { min-width: 0; }
.sales-import-requirements article b { display: block; margin-bottom: 6px; font-size: 13px; }
.sales-import-requirements article p { margin: 0; color: #6f7e97; line-height: 1.65; }
:root[data-theme='dark'] .sales-import-requirements article { background: #151d29; border-color: #394355; }
.after-sales-filter .filter-main { grid-template-columns: minmax(270px,1fr) 150px 145px 145px auto; align-items: end; }
.after-sales-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.after-sales-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.after-sales-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.after-sales-list table { min-width: 1600px; }

/* 借机/归还：爱管机取证后的页签、组合筛选与宽表工作区。 */
.loan-workspace-filter .filter-main { grid-template-columns: minmax(290px,2fr) 150px 145px 145px auto; align-items: end; }
.loan-workspace-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.loan-workspace-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.loan-workspace-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.loan-stage-tabs { margin-bottom: 14px; }
.loan-model-note { margin-bottom: 14px; }
.loan-list table { min-width: 1880px; }
.loan-list td { vertical-align: middle; }
.loan-list td small { display: block; margin-top: 4px; white-space: nowrap; }
.loan-list td:nth-child(3) { min-width: 210px; }
.loan-list td:nth-child(5) { min-width: 180px; }
.loan-card { cursor: pointer; }
:root[data-theme='dark'] .loan-workspace-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }

/* 实时库存：按爱管机的“按明细 / 按型号 / 按仓库”查询方式组织。 */
.inventory-view-tabs { margin-bottom: 14px; }
.inventory-workspace-filter .filter-main { grid-template-columns: minmax(300px,2fr) repeat(3,minmax(145px,.75fr)) auto; }
.inventory-realtime-list table { min-width: 1440px; }
.inventory-realtime-list table:nth-child(2),.inventory-realtime-list table:nth-child(3) { min-width: 1050px; }
.inventory-realtime-list td { vertical-align: middle; }

/* 虚拟库存、代卖库存、库存预警：统一查询、宽表与移动端操作。 */
.virtual-stock-page .inventory-workspace-filter .filter-main,
.consignment-inventory-page .inventory-workspace-filter .filter-main { grid-template-columns: minmax(250px,2fr) repeat(3,minmax(120px,.72fr)) 138px 138px auto; align-items: end; }
.inventory-warning-page .inventory-workspace-filter .filter-main { grid-template-columns: minmax(240px,1.8fr) repeat(4,minmax(112px,.65fr)) 132px 132px auto; align-items: end; }
.inventory-extension-page .inventory-workspace-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.inventory-extension-page .inventory-workspace-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.inventory-extension-page .inventory-workspace-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.virtual-stock-list table { min-width: 1420px; }
.consignment-inventory-list table { min-width: 1510px; }
.inventory-warning-list table { min-width: 1520px; }
.virtual-stock-list td,.consignment-inventory-list td,.inventory-warning-list td { vertical-align: middle; }
.mobile-card-actions { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mobile-card-actions button { width: 100%; min-height: 42px; justify-content: center; }
:root[data-theme='dark'] .inventory-extension-page .inventory-workspace-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }
.inventory-record-filter .filter-main { grid-template-columns: minmax(260px,1.8fr) repeat(3,minmax(120px,.7fr)) 138px 138px auto; align-items: end; }
.inventory-record-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.inventory-record-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.inventory-record-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.packing-workspace-list table { min-width: 1400px; }
.stocktake-workspace-list table { min-width: 1390px; }
.inventory-transfer-list table { min-width: 1460px; }
.external-transfer-workspace-list table { min-width: 1420px; }
.packing-workspace-list td,.stocktake-workspace-list td,.inventory-transfer-list td,.external-transfer-workspace-list td { vertical-align: middle; }
:root[data-theme='dark'] .inventory-record-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }
.inventory-operations-filter .filter-main { grid-template-columns: minmax(250px,1.8fr) repeat(3,minmax(116px,.7fr)) 138px 138px auto; align-items: end; }
.inventory-operations-filter .filter-main > label:not(.search-field) { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.inventory-operations-filter .filter-main > label:not(.search-field) > span { color: #788397; font-size: 9px; font-weight: 600; }
.inventory-operations-filter input[type='date'] { width: 100%; min-height: 40px; padding: 0 10px; color: #4f596e; background: #f8f9fc; border: 1px solid #e4e7ed; border-radius: 9px; }
.inventory-operations-list table { min-width: 1480px; }
.inventory-operations-list td { vertical-align: middle; }
:root[data-theme='dark'] .inventory-operations-filter input[type='date'] { color: #dce3ed; background: #151d29; border-color: #394355; }
.assembly-workspace-list table { min-width: 1540px; }
.assembly-workspace-list td { vertical-align: middle; }

@media (max-width: 820px) {
  .sales-consignment-page .page-heading,
  .sales-orders-page .page-heading,
  .sales-sync-page .page-heading,
  .sales-import-page .page-heading { align-items: stretch; }
  .sales-consignment-page .heading-actions,
  .sales-orders-page .heading-actions,
  .sales-sync-page .heading-actions { width: 100%; }
  .sales-consignment-page .heading-actions button,
  .sales-orders-page .heading-actions button,
  .sales-sync-page .heading-actions button { min-height: 44px; justify-content: center; }
  .sales-import-requirements { grid-template-columns: 1fr; }
  .sales-import-requirements article { min-height: 0; }
  .after-sales-workspace-page .page-heading { align-items: stretch; }
  .after-sales-workspace-page .heading-actions { width: 100%; }
  .after-sales-workspace-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .after-sales-filter .filter-main { display: flex; }
  .after-sales-filter .filter-main > select { flex: 1 1 100%; }
  .after-sales-filter .filter-main > label:not(.search-field) { flex: 1 1 calc(50% - 6px); min-width: 135px; }
  .after-sales-filter input[type='date'] { min-height: 44px; }
  .after-sales-filter .filter-button { flex: 1 1 100%; width: 100%; min-height: 42px; justify-content: center; white-space: nowrap; font-size: 11px; }
  .loan-workspace-page .page-heading { align-items: stretch; }
  .loan-workspace-page .heading-actions { width: 100%; }
  .loan-workspace-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .loan-stage-tabs { margin-inline: -2px; padding: 2px; }
  .loan-stage-tabs button { min-width: max-content; min-height: 44px; font-size: 13px; }
  .loan-workspace-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .loan-workspace-filter .search-field,
  .loan-workspace-filter .filter-main > select,
  .loan-workspace-filter .filter-button { grid-column: 1 / -1; }
  .loan-workspace-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .loan-workspace-filter input[type='date'] { min-height: 44px; }
  .loan-workspace-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
  .loan-model-note { align-items: flex-start; }
  .inventory-page .page-heading { align-items: stretch; }
  .inventory-page .heading-actions { width: 100%; }
  .inventory-page .heading-actions button { flex: 1; min-height: 44px; justify-content: center; }
  .inventory-view-tabs { margin-inline: -2px; padding: 2px; }
  .inventory-view-tabs button { min-width: max-content; font-size: 13px; }
  .inventory-workspace-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .inventory-workspace-filter .search-field,
  .inventory-workspace-filter .filter-main > select:first-of-type,
  .inventory-workspace-filter .filter-button { grid-column: 1 / -1; }
  .inventory-workspace-filter .filter-main > select { min-height: 44px; }
  .inventory-workspace-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
  .virtual-stock-page .page-heading,
  .consignment-inventory-page .page-heading,
  .inventory-warning-page .page-heading { align-items: stretch; }
  .virtual-stock-page .heading-actions,
  .consignment-inventory-page .heading-actions,
  .inventory-warning-page .heading-actions { width: 100%; }
  .virtual-stock-page .heading-actions button,
  .consignment-inventory-page .heading-actions button,
  .inventory-warning-page .heading-actions button { flex: 1; min-height: 44px; display: inline-flex; justify-content: center; }
  .virtual-stock-page .heading-actions .secondary-button,
  .consignment-inventory-page .heading-actions .secondary-button,
  .inventory-warning-page .heading-actions .secondary-button { display: inline-flex; }
  .virtual-stock-page .inventory-workspace-filter .filter-main,
  .consignment-inventory-page .inventory-workspace-filter .filter-main,
  .inventory-warning-page .inventory-workspace-filter .filter-main { grid-template-columns: 1fr 1fr; }
  .virtual-stock-page .inventory-workspace-filter .search-field,
  .consignment-inventory-page .inventory-workspace-filter .search-field,
  .inventory-warning-page .inventory-workspace-filter .search-field { grid-column: 1 / -1; }
  .virtual-stock-page .inventory-workspace-filter .filter-main > select,
  .consignment-inventory-page .inventory-workspace-filter .filter-main > select,
  .inventory-warning-page .inventory-workspace-filter .filter-main > select { grid-column: auto; }
  .virtual-stock-page .inventory-workspace-filter .filter-main > label:not(.search-field),
  .consignment-inventory-page .inventory-workspace-filter .filter-main > label:not(.search-field),
  .inventory-warning-page .inventory-workspace-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .inventory-extension-page .inventory-workspace-filter input[type='date'] { min-height: 44px; }
  .mobile-card-actions { grid-template-columns: 1fr; }
  .packing-workspace-page .page-heading,
  .stocktake-workspace-page .page-heading,
  .inventory-transfer-workspace-page .page-heading,
  .external-transfer-workspace-page .page-heading { align-items: stretch; }
  .packing-workspace-page .heading-actions,
  .stocktake-workspace-page .heading-actions,
  .inventory-transfer-workspace-page .heading-actions,
  .external-transfer-workspace-page .heading-actions { width: 100%; }
  .packing-workspace-page .heading-actions button,
  .stocktake-workspace-page .heading-actions button,
  .inventory-transfer-workspace-page .heading-actions button,
  .external-transfer-workspace-page .heading-actions button { flex: 1; min-height: 44px; display: inline-flex; justify-content: center; }
  .packing-workspace-page .heading-actions .secondary-button,
  .stocktake-workspace-page .heading-actions .secondary-button,
  .inventory-transfer-workspace-page .heading-actions .secondary-button,
  .external-transfer-workspace-page .heading-actions .secondary-button { display: inline-flex; }
  .external-transfer-workspace-page .repair-filter .filter-button { min-height: 44px; }
  .inventory-operations-page .page-heading { align-items: stretch; }
  .inventory-operations-page .heading-actions { width: 100%; }
  .inventory-operations-page .heading-actions button { flex: 1; min-height: 44px; display: inline-flex; justify-content: center; }
  .inventory-operations-page .heading-actions .secondary-button { display: inline-flex; }
  .inventory-operations-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .inventory-operations-filter .search-field,
  .inventory-operations-filter .filter-button { grid-column: 1 / -1; }
  .inventory-operations-filter .filter-main > select { min-height: 44px; }
  .inventory-operations-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .inventory-operations-filter input[type='date'] { min-height: 44px; }
  .inventory-operations-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
  .assembly-workspace-page .page-heading { align-items: stretch; }
  .assembly-workspace-page .heading-actions { width: 100%; }
  .assembly-workspace-page .heading-actions button { flex: 1; min-height: 44px; display: inline-flex; justify-content: center; }
  .assembly-workspace-page .heading-actions .secondary-button { display: inline-flex; }
  .inventory-record-filter .filter-main { display: grid; grid-template-columns: 1fr 1fr; }
  .inventory-record-filter .search-field,
  .inventory-record-filter .filter-button { grid-column: 1 / -1; }
  .inventory-record-filter .filter-main > select { min-height: 44px; }
  .inventory-record-filter .filter-main > label:not(.search-field) { min-width: 0; }
  .inventory-record-filter input[type='date'] { min-height: 44px; }
  .inventory-record-filter .filter-button { width: 100%; min-height: 44px; justify-content: center; font-size: 13px; }
}
.rule-test-panel{display:grid;gap:12px}.rule-test-panel>div:first-child{display:flex;flex-direction:column;gap:4px}.rule-test-panel>div:first-child span{color:var(--muted);font-size:.92rem}.rule-test-panel .filter-main{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:12px}.rule-test-panel input,.rule-test-panel output{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:10px 12px}.rule-test-panel output{display:flex;align-items:center;overflow-wrap:anywhere}.rule-builder{display:grid;gap:12px;margin-top:18px}.rule-builder-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(125px,.8fr) minmax(150px,1.2fr) minmax(145px,1fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.rule-builder-row.privacy{grid-template-columns:minmax(120px,.7fr) repeat(3,minmax(140px,1fr)) auto}.rule-builder-row input,.rule-builder-row select{width:100%;min-height:42px}.inline-check{display:flex;align-items:center;gap:6px;white-space:nowrap}.inline-check input{width:18px;min-height:auto}
.workflow-result-options{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.workflow-result-options legend{padding:0 6px;color:var(--muted);font-weight:700}.workflow-result-options .inline-check{min-height:32px}.form-help{margin:14px 0 0;color:var(--muted);line-height:1.7}
@media(max-width:760px){.rule-test-panel .filter-main{grid-template-columns:1fr}.rule-builder-row,.rule-builder-row.privacy{grid-template-columns:1fr}.rule-builder-row .text-link{justify-self:start}.inline-check{min-height:40px}.workflow-result-options{flex-direction:column;align-items:stretch;gap:4px}.workflow-result-options .inline-check{width:100%;min-height:44px}}
.finance-system-filter{min-height:44px;padding:0 8px;color:var(--muted)}
.fee-management-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:18px;align-items:start}.fee-content{display:grid;gap:16px;min-width:0}.fee-category-panel{display:grid;gap:12px;position:sticky;top:16px}.fee-category-panel>.search-field{width:100%}.fee-category-list{display:grid;gap:8px}.fee-category-list>button,.fee-category-item>button{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;text-align:left}.fee-category-list>button.active,.fee-category-item.active>button{border-color:var(--accent);background:var(--accent-soft)}.fee-category-item{display:grid;gap:4px}.fee-category-item>button span{display:grid;gap:2px}.fee-category-item>button small{color:var(--muted);font-weight:500}.fee-category-item>div{display:flex;justify-content:flex-end;gap:12px;padding:0 6px}.fee-tier-summary{display:grid;gap:3px;min-width:200px}.fee-tier-summary small{color:var(--text);white-space:normal}.fee-tier-editor{display:grid;gap:12px;margin-top:18px}.fee-tier-row{display:grid;grid-template-columns:auto repeat(3,minmax(120px,1fr));gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.fee-tier-row>b{align-self:center;white-space:nowrap}.fee-tier-row label{display:grid;gap:6px}.fee-tier-row label span{color:var(--muted);font-size:.88rem;font-weight:700}.fee-tier-row input,.fee-tier-row select{width:100%;min-height:42px}.fee-tier-row .danger{justify-self:start;color:var(--danger)}
@media(max-width:900px){.fee-management-layout{grid-template-columns:1fr}.fee-category-panel{position:static}.fee-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-category-list>button{grid-column:1/-1}.fee-tier-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fee-tier-row>b,.fee-tier-row .danger{grid-column:1/-1}}
@media(max-width:760px){.finance-system-filter{width:100%;padding:0}.fee-management-page .page-heading{align-items:stretch}.fee-management-page .heading-actions{width:100%}.fee-management-page .heading-actions button{flex:1;min-height:44px;justify-content:center}.fee-category-list{grid-template-columns:1fr}.fee-category-list>button{grid-column:auto}.fee-tier-row{grid-template-columns:1fr}.fee-tier-row>b,.fee-tier-row .danger{grid-column:auto}.fee-tier-row input,.fee-tier-row select{min-height:44px}.fee-tier-editor .secondary-button{min-height:44px}}
.document-field-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.document-field-scopes{padding:18px;display:flex;flex-direction:column;gap:8px;max-height:680px;overflow:auto}
.document-field-scopes>b{font-size:18px;margin-bottom:4px}.document-field-scopes>input{width:100%;min-height:44px;margin-bottom:8px}
.document-field-scopes>button{border:0;background:transparent;border-radius:10px;min-height:44px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--text);cursor:pointer}
.document-field-scopes>button:hover,.document-field-scopes>button.active{background:var(--blue-soft);color:var(--blue);font-weight:700}.document-field-scopes>button span{font-size:12px;opacity:.72}
.document-field-content{min-width:0;display:grid;gap:14px}
@media(max-width:760px){.document-field-layout{display:block}.document-field-scopes{max-height:none;margin-bottom:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.document-field-scopes>b,.document-field-scopes>input{grid-column:1/-1}.document-field-scopes>button{border:1px solid var(--border);min-width:0}.document-field-content{display:block}.document-field-content>.filter-panel{margin-bottom:14px}}
@media (max-width: 820px) {
  .access-page .table-toolbar .heading-actions .secondary-button:first-child {
    display: inline-flex;
    min-width: 138px;
    min-height: 44px;
    justify-content: center;
    white-space: nowrap;
  }
  .workspace-notice-dialog { grid-template-columns: 1fr; text-align: center; }
  .workspace-notice-icon { margin: 0 auto; }
  .workspace-notice-dialog > .primary-button { width: 100%; min-height: 44px; }
  .desktop-close-dialog .dialog-footer { display: grid; grid-template-columns: 1fr 1fr; }
  .desktop-close-dialog .dialog-footer button { width: 100%; min-height: 44px; }
}

/* 工作台：主数据区 + 右侧信息栏，数据均来自循迹现有业务。 */
.dialog.dashboard-shortcut-dialog{width:min(1180px,calc(100vw - 36px));max-width:1180px}
.dashboard-page{max-width:1680px;margin:0 auto;padding-bottom:70px}
.dashboard-identity{min-height:38px;margin:0 0 12px;padding:0 14px;display:flex;align-items:center;gap:12px;color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--line);border-radius:12px;font-style:normal}
.dashboard-identity span,.dashboard-identity em{font-size:11px;font-style:normal}.dashboard-identity b{color:var(--ink);font-size:13px}.dashboard-identity em{margin-left:auto}
.dashboard-board{display:grid;grid-template-columns:minmax(0,1fr) 252px;gap:14px;align-items:start}
.dashboard-main-column,.dashboard-side-column{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-content:start}.dashboard-main-column>.dashboard-module-slot,.dashboard-side-column>.dashboard-module-slot{grid-column:1!important}.dashboard-side-column{position:sticky;top:12px}
.dashboard-module{border-radius:12px;box-shadow:0 4px 18px rgba(31,48,78,.045)}
.dashboard-section-head{min-height:55px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.dashboard-section-head h2{margin:0;display:flex;align-items:center;gap:10px;color:var(--ink);font-size:17px}.dashboard-section-head h2::before{content:'';width:4px;height:22px;background:#13c4c7;border-radius:4px}
.dashboard-heading-cluster{min-width:0;display:flex;align-items:center;gap:14px}.dashboard-heading-cluster>label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;white-space:nowrap}.dashboard-heading-cluster>label input{width:15px;height:15px;accent-color:var(--blue)}
.dashboard-head-actions{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.dashboard-head-actions button{min-height:32px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:3px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:8px}.dashboard-head-actions button:hover{color:var(--blue);background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 24%,var(--line))}
.dashboard-quick-grid{padding:16px 22px 22px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px 8px}
.dashboard-quick-card{min-height:92px;padding:7px 3px;gap:8px;border:0;border-radius:12px}.dashboard-quick-card:hover{border:0}.dashboard-quick-card b{font-size:12px;font-weight:500}.dashboard-quick-card .quick-icon{width:58px;height:58px;border-radius:14px}.dashboard-quick-add{color:var(--ink);background:transparent;border:0!important}.dashboard-quick-add .quick-icon.add{color:#707988;border-color:#aeb5c1}
.dashboard-todo-grid{padding:13px 16px 17px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px 14px}.dashboard-todo-grid>button{min-width:0;min-height:90px;padding:15px 13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;color:var(--ink);background:var(--surface-soft);border:1px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:6px;text-align:left}.dashboard-todo-grid>button:hover{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:var(--blue-soft)}.dashboard-todo-grid span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.dashboard-todo-grid b{font-size:24px}.dashboard-todo-grid .dashboard-loading{grid-column:1/-1}
.dashboard-period-tabs{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden}.dashboard-period-tabs button{min-height:32px;padding:0 13px;color:var(--muted);background:var(--surface);border:0;border-right:1px solid var(--line);font-size:10px}.dashboard-period-tabs button:last-child{border-right:0}.dashboard-period-tabs button.active{color:#fff;background:#15c2c7;font-weight:700}
.dashboard-cube-grid{padding:15px 16px 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dashboard-business-card{position:relative;min-width:0;min-height:112px;padding:17px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--blue-soft) 70%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--blue) 12%,var(--line));border-radius:8px}.dashboard-business-card>div{min-width:0;display:flex;flex-direction:column;gap:6px}.dashboard-business-card small{color:var(--muted);font-size:11px}.dashboard-business-card b{color:var(--ink);font-size:20px;white-space:nowrap}.dashboard-business-card em{color:var(--muted);font-size:9px;font-style:normal}.dashboard-business-card>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:color-mix(in srgb,var(--blue) 16%,var(--surface));border-radius:50%}.dashboard-business-card.violet>span{color:#7859df;background:#eee9ff}.dashboard-business-card.green>span{color:#16ad7b;background:#e0f8ef}.dashboard-business-card.orange>span{color:#f39826;background:#fff0da}
.dashboard-inventory-grid{padding:15px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dashboard-inventory-card{min-width:0;min-height:125px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px}.dashboard-inventory-card>div{display:flex;flex-direction:column;gap:5px}.dashboard-inventory-card small{color:var(--muted);font-size:11px}.dashboard-inventory-card b{font-size:21px}.dashboard-inventory-card>span{width:42px;height:42px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:50%}.dashboard-inventory-card.violet>span{color:#7859df;background:#eee9ff}.dashboard-inventory-card.green>span{color:#16ad7b;background:#e0f8ef}.dashboard-inventory-card.orange>span{color:#f39826;background:#fff0da}.dashboard-inventory-card.cyan>span{color:#11aeb7;background:#dff8f8}.dashboard-inventory-card footer{grid-column:1/-1;padding-top:8px;color:var(--muted);border-top:1px solid var(--line);font-size:9px}.dashboard-inventory-card footer strong{margin-left:5px;color:var(--ink);font-size:11px}
.dashboard-donut-grid{padding:0 16px 18px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.dashboard-donut-card{min-width:0;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.dashboard-donut-card h3{margin:0 0 12px;font-size:13px}.dashboard-donut-body{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:16px}.dashboard-donut{width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.dashboard-donut>span{width:88px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);border-radius:50%}.dashboard-donut b{font-size:21px}.dashboard-donut small{color:var(--muted);font-size:9px}.dashboard-donut-legend{min-width:0;display:grid;gap:8px}.dashboard-donut-legend p{margin:0;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:10px}.dashboard-donut-legend i{width:9px;height:9px;border-radius:3px}.dashboard-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.dashboard-donut-empty{min-height:150px;display:grid;place-items:center;color:var(--muted);font-size:11px}
.dashboard-sales-kpis{padding:15px 16px 5px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dashboard-trend-head{padding:13px 18px 0;display:flex;align-items:center;justify-content:space-between}.dashboard-trend-head h3{margin:0;font-size:14px}.dashboard-sales-module .mini-chart{padding:10px 18px 0}.dashboard-about-card{margin:12px 12px 0;padding:13px;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--blue-soft),var(--surface));border:1px solid var(--line);border-radius:10px}.dashboard-about-card>span{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;color:var(--blue);background:var(--surface);border-radius:12px}.dashboard-about-card div{min-width:0}.dashboard-about-card b{font-size:13px}.dashboard-about-card p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}

@media(max-width:1180px){.dashboard-board{grid-template-columns:1fr}.dashboard-side-column{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-side-column>.dashboard-module-slot{grid-column:auto!important}.dashboard-cube-grid,.dashboard-inventory-grid,.dashboard-sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dashboard-page{padding-bottom:84px}.dashboard-identity{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 12px}.dashboard-identity em{margin-left:0}.dashboard-side-column{grid-template-columns:1fr}.dashboard-side-column>.dashboard-module-slot{grid-column:1!important}.dashboard-section-head{min-height:52px;padding:10px 13px;align-items:flex-start}.dashboard-section-head-wrap{align-items:stretch;flex-direction:column}.dashboard-heading-cluster{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-head-actions{align-self:flex-end}.dashboard-period-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.dashboard-period-tabs button{min-height:40px;border-bottom:1px solid var(--line)}.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 7px 16px}.dashboard-quick-card{min-height:92px}.dashboard-todo-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px;gap:8px}.dashboard-todo-grid>button{min-height:82px}.dashboard-cube-grid,.dashboard-inventory-grid,.dashboard-sales-kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding:11px;gap:8px}.dashboard-business-card{min-height:119px;padding:13px;align-items:flex-start}.dashboard-business-card b{font-size:16px;white-space:normal}.dashboard-business-card>span{width:35px;height:35px}.dashboard-inventory-card{min-height:121px;padding:12px}.dashboard-donut-grid{grid-template-columns:1fr;padding:0 11px 12px}.dashboard-donut-body{grid-template-columns:125px minmax(0,1fr);gap:12px}.dashboard-donut{width:120px}.dashboard-donut>span{width:72px}.dashboard-sales-module .mini-chart{padding-inline:11px}.dashboard-sales-module .chart-summary{margin-inline:11px}}
@media(max-width:410px){.dashboard-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-quick-card b{font-size:10px}.dashboard-todo-grid,.dashboard-cube-grid,.dashboard-inventory-grid,.dashboard-sales-kpis{grid-template-columns:1fr 1fr}.dashboard-business-card{min-height:128px;display:block}.dashboard-business-card>span{position:absolute;right:10px;bottom:10px;opacity:.75}.dashboard-donut-body{grid-template-columns:1fr}.dashboard-donut{margin:0 auto}}
@media(max-width:720px){.dashboard-head-actions button{min-width:44px;min-height:44px}.dashboard-period-tabs button{min-height:44px}}
@media(max-width:720px){.dashboard-shortcut-dialog .icon-button{min-width:44px;min-height:44px}}
