:root { --ink:#1c2529; --muted:#69767a; --line:#dfe6e5; --surface:#ffffff; --canvas:#f4f7f6; --accent:#138a72; --accent-dark:#0a6654; --warm:#f39b47; --danger:#c43c3c; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--canvas); font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif; font-size:14px; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
.hidden { display:none !important; }
.login-layout { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#eef8f4 0%,#f8faf9 55%,#fff3e6 100%); }
.login-panel { width:min(100%,400px); background:var(--surface); border:1px solid var(--line); padding:36px; box-shadow:0 18px 50px rgba(26,51,45,.10); }
.mark,.brand-mark,.empty-icon { display:grid; place-items:center; color:white; background:var(--accent); }
.mark { width:42px; height:42px; margin-bottom:24px; }
.mark svg,.brand-mark svg { width:20px; }
.eyebrow { margin:0 0 8px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:0; }
h1,h2,h3 { margin:0; letter-spacing:0; } h1 { font-size:28px; } h2 { font-size:18px; } h3 { font-size:17px; }
.muted { color:var(--muted); margin:10px 0 26px; }
.login-form { display:grid; gap:16px; }
label { display:grid; gap:7px; color:#415054; font-weight:600; }
input,textarea { width:100%; border:1px solid #cbd6d4; border-radius:4px; padding:11px 12px; color:var(--ink); outline:none; background:#fff; }
input:focus,textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(19,138,114,.12); }
.primary-button,.new-chat { border:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; }
.primary-button { min-height:42px; background:var(--accent); color:white; border-radius:4px; } .primary-button:hover { background:var(--accent-dark); }
.error-text { min-height:18px; margin:0; color:var(--danger); }
.chat-layout { height:100vh; overflow:hidden; display:grid; grid-template-columns:246px minmax(0,1fr); }
.sidebar { min-height:0; background:#1c2e2b; color:#eaf4f1; display:flex; flex-direction:column; padding:18px 14px; overflow:hidden; }
.brand { display:flex; align-items:center; gap:10px; width:100%; border:0; padding:5px 8px 25px; background:transparent; color:inherit; font-size:17px; font-weight:700; text-align:left; }
.brand:hover { color:#fff; }
.brand-mark { width:27px; height:27px; border-radius:4px; background:var(--warm); }
.new-chat { height:38px; justify-content:flex-start; padding:0 11px; border-radius:4px; background:#2d4843; color:#fff; }
.new-chat:hover { background:#395b54; }
.history-panel { min-height:0; display:flex; flex:1; flex-direction:column; margin:18px 0 8px; }
.sidebar-label { margin:0 8px 8px; color:#8fa8a2; font-size:11px; font-weight:700; }
.conversation-list { display:grid; gap:4px; overflow:auto; }
.conversation-item { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; border-radius:4px; background:transparent; color:#d8e6e2; }
.conversation-item:hover,.conversation-item.active { background:#2d4843; color:#fff; }.conversation-open { min-width:0; height:42px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:0; padding:8px 4px 8px 10px; background:transparent; color:inherit; text-align:left; }.conversation-open span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.conversation-open small { flex:0 0 auto; color:#9fb5b0; font-size:11px; }.conversation-delete { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:4px; background:transparent; color:#9fb5b0; opacity:0; }.conversation-item:hover .conversation-delete,.conversation-item.active .conversation-delete { opacity:1; }.conversation-delete:hover { color:#fff; background:#49625c; }.conversation-delete svg { width:15px; }
.history-empty { margin:8px; color:#8fa8a2; font-size:12px; }
.sidebar-nav { margin-top:8px; height:38px; border:0; display:flex; align-items:center; gap:8px; padding:0 11px; border-radius:4px; background:transparent; color:#cfe0dc; text-align:left; }
.sidebar-nav:hover { background:#2d4843; color:#fff; }
.sidebar-bottom { margin-top:auto; display:flex; align-items:center; gap:10px; padding:12px 4px 0; border-top:1px solid #3a514d; }
.identity { min-width:0; flex:1; color:#c7d8d4; font-size:12px; line-height:1.5; }
.icon-button { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:4px; background:transparent; color:#d8e5e1; }
.icon-button:hover { background:#2d4843; }
/* 右侧主区：顶部常驻业务工具条 + 下方视图容器。
   视图之间靠切换 .hidden 互斥显示，所以只有"工具条 + 当前视图"两项参与网格布局。 */
.main-column { min-width:0; min-height:0; display:grid; grid-template-rows:auto minmax(0,1fr); }
.conversation { min-width:0; min-height:0; height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; background:var(--canvas); }
/* 业务工具条：从侧边栏搬到对话区上方（2026-09-23）。
   这些是"围绕当前对话要做的事"，紧贴对话区比塞在侧边栏更顺手；侧边栏专心只做历史与身份。 */
.tool-strip { display:flex; flex-wrap:wrap; gap:6px; padding:10px 28px; border-bottom:1px solid var(--line); background:#fff; }
.tool-strip-button { display:inline-flex; align-items:center; gap:6px; height:32px; border:1px solid #d6e0de; border-radius:4px; padding:0 12px; background:#f7faf9; color:#3d514d; font-size:12px; font-weight:600; white-space:nowrap; }
.tool-strip-button:hover { border-color:#9acdbf; background:#effaf5; color:var(--accent-dark); }
.tool-strip-button.active { border-color:var(--accent); background:#e4f5ef; color:var(--accent-dark); }
.tool-strip-button svg { width:14px; }
.knowledge-view,.permission-view,.second-sale-view { min-width:0; min-height:0; height:100%; overflow:auto; background:var(--canvas); }
.permission-content { width:min(100%,1040px); margin:0 auto; padding:24px 28px 48px; }
.permission-post-label { max-width:420px; margin-bottom:20px; }
.permission-post-label select,.scope-heading select { width:100%; border:1px solid #cbd6d4; border-radius:4px; padding:9px 10px; color:var(--ink); background:#fff; }
.permission-editor { display:grid; gap:16px; }
.super-admin-section { border-color:#9ccfc3; background:#f3fbf8; }
.super-admin-section p { margin:8px 0 0; color:#47625c; font-size:13px; line-height:1.5; }
.semantic-answer { margin:0 0 14px; line-height:1.7; white-space:pre-wrap; }
.tutorial-prompt-links { display:grid; gap:8px; margin-top:12px; }
.tutorial-prompt-link { display:grid; gap:3px; width:100%; padding:10px 12px; border:1px solid #b8d7d1; border-radius:4px; background:#f7fcfa; color:#125e50; text-align:left; }
.tutorial-prompt-link:hover { border-color:var(--accent); background:#eff9f6; }
.tutorial-prompt-link span { color:#637378; font-size:12px; }
.tutorial-prompt-link strong { font-weight:600; }
/* 追问控件：系统已经知道该问什么，就把"可以点什么"一并给出来，别让用户自己想格式。 */
.clarification-options { display:grid; gap:8px; margin-top:12px; }
.clarification-choice { display:grid; gap:3px; width:100%; padding:10px 12px; border:1px solid #b8d7d1; border-radius:4px; background:#f7fcfa; color:#125e50; text-align:left; }
.clarification-choice:hover { border-color:var(--accent); background:#eff9f6; }
.clarification-choice span { font-size:13px; font-weight:600; }
.clarification-choice small { color:#637378; font-size:12px; }
.clarification-date { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-top:12px; padding:14px; border:1px solid #e2ebe8; border-radius:5px; background:#fbfdfc; }
.clarification-date label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:600; }
.clarification-date input[type="date"] { box-sizing:border-box; min-height:36px; border:1px solid #cbd6d4; border-radius:4px; padding:6px 8px; color:var(--ink); background:#fff; font-size:13px; }
.clarification-presets { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.clarification-preset { padding:7px 12px; border:1px solid #cfe0dd; border-radius:14px; background:#fff; color:#125e50; font-size:12px; }
.clarification-preset:hover { border-color:var(--accent); background:#f3fbf8; }
.clarification-submit { display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border:1px solid #125e50; border-radius:4px; background:#125e50; color:#fff; font-size:13px; font-weight:600; }
.clarification-submit:hover { background:#0f4f44; }
.clarification-submit svg { width:16px; }

/* 「模型是怎么理解的」解析区块：默认展开，用中性色与"开发诊断"的警示黄区分开——
   它是给用户看的正常信息，不是故障提示。 */
.plan-interpretation { margin-bottom:12px; border:1px solid #cfe0dd; border-left:3px solid #2e7f6d; background:#f6fbf9; border-radius:4px; }
.plan-interpretation > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; cursor:pointer; color:#125e50; font-size:12px; font-weight:700; }
.plan-interpretation > summary em { color:#7d9390; font-size:11px; font-style:normal; font-weight:500; }
.plan-interpretation-body { padding:0 12px 11px; }
.plan-interpretation-intent { margin:0 0 8px; color:#4a5c58; font-size:12px; }
.plan-interpretation-items { display:grid; gap:4px; margin:0; }
.plan-interpretation-items > div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:10px; align-items:baseline; }
.plan-interpretation-items dt { color:#7d9390; font-size:12px; }
.plan-interpretation-items dd { margin:0; color:#1d3b35; font-size:13px; font-weight:600; word-break:break-word; }
.plan-interpretation-notes { margin:8px 0 0; padding-left:16px; color:#6b7f7b; font-size:12px; }.plan-interpretation-notes li { margin:3px 0; }
/* 窗口搜索的可租日期：一行多个日期横向排开，扫一眼就能挑一天，不需要逐行读。 */
.window-days { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.window-day-chip { display:inline-flex; align-items:baseline; gap:6px; padding:5px 9px; border:1px solid #b8d7d1; border-radius:4px; background:#f2faf7; }
.window-day-chip strong { color:#125e50; font-size:13px; font-weight:600; }
.window-day-chip em { color:#637378; font-size:12px; font-style:normal; }
.development-diagnostics { margin-top:14px; padding:10px 12px; border:1px solid #e7c98a; border-left:3px solid #c48a1a; background:#fffaf0; border-radius:4px; }
.development-diagnostics summary { cursor:pointer; color:#614f2d; font-size:13px; font-weight:700; }
.development-diagnostics p { margin:7px 0 0; color:#614f2d; font-size:13px; }.development-diagnostics b { margin-right:8px; }
.policy-switch,.grant-section,.scope-editor { background:#fff; border:1px solid var(--line); border-radius:5px; padding:16px; }
.policy-switch { display:flex; align-items:center; gap:9px; font-weight:700; }.policy-switch input { width:auto; }
.grant-section h3,.scope-heading h3 { margin:0; font-size:14px; }.grant-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.permission-section-heading,.permission-group-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }.permission-section-heading > span { color:var(--muted); font-size:12px; }.permission-group { padding:16px 0; border-top:1px solid #e4ebea; }.permission-group:first-of-type { margin-top:12px; }.permission-group-heading h4 { margin:0; font-size:14px; }.permission-group-heading div > span { color:var(--muted); font-size:12px; }.group-select { display:inline-flex; align-items:center; gap:6px; color:#2e5049; font-size:12px; font-weight:600; white-space:nowrap; }.group-select input { width:auto; }
.grant-item { display:grid; grid-template-columns:auto minmax(0,1fr); gap:0 8px; align-items:center; padding:9px; border:1px solid #e4ebea; border-radius:4px; font-weight:500; }.grant-item input { width:auto; grid-row:span 2; }.grant-item small { grid-column:2; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.scope-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }.scope-heading select { width:auto; min-width:130px; }.store-picker { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; }.store-picker label { display:flex; align-items:center; gap:6px; font-weight:500; }.store-picker input { width:auto; }
.quiet-button { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:4px; padding:8px 10px; background:#fff; color:#405056; }
.development-log-tabs { display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px; padding:14px 28px 0; border-bottom:1px solid var(--line); }.development-log-tabs .quiet-button { border-bottom-left-radius:0; border-bottom-right-radius:0; }.development-log-tabs .quiet-button.active { border-color:var(--accent); background:#e4f5ef; color:var(--accent-dark); }
.development-log-filters { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; padding-bottom:8px; }
.development-log-filters label { display:grid; gap:4px; color:var(--muted); font-size:11px; font-weight:600; }
.development-log-filters input { min-height:32px; padding:5px 8px; border:1px solid #cbd6d4; border-radius:4px; background:#fff; color:var(--ink); font-size:13px; }
.quiet-button svg { width:16px; }.capture-list { width:min(100%,920px); margin:0 auto; padding:24px 28px; display:grid; gap:12px; }.capture-card { background:#fff; border:1px solid var(--line); border-radius:5px; padding:16px; }.capture-meta { display:flex; gap:8px; color:var(--muted); font-size:12px; margin-bottom:10px; }.capture-content { margin:0 0 12px; line-height:1.6; white-space:pre-wrap; }.capture-actions { display:flex; gap:8px; align-items:center; }.capture-actions input { max-width:260px; padding:8px 10px; }.capture-actions button { border:0; border-radius:4px; padding:8px 10px; background:var(--accent); color:#fff; font-weight:600; }.capture-actions button.secondary { background:#536663; }.empty-list { color:var(--muted); padding:40px 0; text-align:center; }
.conversation-header { display:flex; justify-content:space-between; align-items:center; padding:20px 28px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.72); }
.header-status { display:flex; align-items:center; gap:14px; }
.context-status { position:relative; min-width:112px; overflow:hidden; border:1px solid var(--line); border-radius:4px; padding:5px 8px; color:#49605a; font-size:11px; text-align:center; }
.context-status::before { content:""; position:absolute; inset:0 auto 0 0; width:var(--context-usage,0%); background:#e4f2ed; z-index:0; }
.context-status { isolation:isolate; }.context-status::after { content:""; position:absolute; inset:0; z-index:-1; }
.status-dot { display:inline-flex; align-items:center; gap:6px; color:#23705d; font-size:12px; font-weight:600; } .status-dot svg { width:15px; }
.messages { width:min(100%,920px); min-height:0; margin:0 auto; padding:30px 28px; overflow:auto; }
.empty-state { max-width:580px; margin:12vh auto 0; text-align:center; } .empty-icon { width:42px; height:42px; margin:0 auto 16px; border-radius:4px; } .empty-icon svg { width:20px; }
.empty-state p { color:var(--muted); line-height:1.7; }
.prompt-list { display:grid; gap:8px; margin-top:26px; } .prompt-list button { padding:11px 14px; border:1px solid var(--line); border-radius:4px; background:#fff; color:#405056; text-align:left; } .prompt-list button:hover { border-color:var(--accent); color:var(--accent-dark); }
.knowledge-section { margin: 0 0 24px; } .knowledge-section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 10px; } .knowledge-section-heading h3 { margin:2px 0 0; font-size:16px; } .knowledge-section-heading p { margin:0; color:var(--muted); font-size:13px; }
.message { display:grid; grid-template-columns:32px minmax(0,1fr); gap:10px; margin:0 0 24px; } .message.user { grid-template-columns:minmax(0,1fr) 32px; } .message.user .bubble { grid-column:1; justify-self:end; background:#e2f2ed; } .message.user .avatar { grid-column:2; }
.avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:4px; background:#e0e9e7; color:#2c5a51; font-size:12px; font-weight:700; } .assistant .avatar { background:var(--accent); color:#fff; }
.bubble { max-width:min(100%,720px); padding:13px 15px; background:#fff; border:1px solid var(--line); border-radius:5px; line-height:1.65; }
.semantic-answer { margin:0; white-space:pre-line; }
.result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin-top:10px; } .result-grid div { padding-top:8px; border-top:1px solid #e9eeee; } .result-grid span { display:block; color:var(--muted); font-size:12px; } .result-grid strong { font-weight:600; overflow-wrap:anywhere; }
.inventory-barcode-list { margin-top:12px; border:1px solid #dce7e4; border-radius:5px; overflow:hidden; background:#fff; }
.inventory-barcode-list-head,.inventory-barcode-row { display:grid; grid-template-columns:150px minmax(260px,1fr) 82px 92px 74px; gap:14px; align-items:center; }
.inventory-barcode-list-head { padding:8px 12px; background:#f5f9f8; border-bottom:1px solid #dce7e4; color:#63736f; font-size:11px; font-weight:700; }
.inventory-barcode-row { min-height:62px; padding:10px 12px; border-bottom:1px solid #e4ece9; }
.inventory-barcode-row:last-child { border-bottom:0; }
.inventory-barcode-row:hover { background:#f7fbfa; }
.inventory-barcode-row > div { min-width:0; }
.inventory-barcode-row > div > span { display:none; color:var(--muted); font-size:11px; }
.inventory-barcode-identity .inline-link { font-size:13px; font-variant-numeric:tabular-nums; }
.inventory-barcode-sku strong { display:-webkit-box; overflow:hidden; color:#263735; font-weight:600; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.inventory-barcode-store strong,.inventory-barcode-listing strong { color:#52625f; font-size:12px; font-weight:600; white-space:nowrap; }
.inventory-barcode-status strong { display:inline-flex; align-items:center; gap:5px; color:#176c5a; font-size:12px; font-weight:700; white-space:nowrap; }
.inventory-barcode-status strong::before { width:6px; height:6px; flex:0 0 6px; border-radius:50%; background:#2c9a7d; content:""; }
/* 入库单条码明细：与库存条码列表同一套栅格口径，只是多了机器号与库位两列 */
.inbound-pg-list { border:1px solid #dce7e4; border-radius:6px; overflow:hidden; }
.inbound-pg-row { display:grid; grid-template-columns:140px 120px minmax(180px,1fr) 90px 90px 92px; gap:14px; align-items:center; min-height:58px; padding:10px 12px; border-bottom:1px solid #e4ece9; }
.inbound-pg-row:last-child { border-bottom:0; }
.inbound-pg-row:hover { background:#f7fbfa; }
.inbound-pg-row > div { min-width:0; }
.inbound-pg-row > div > span { display:block; color:var(--muted); font-size:11px; }
.inbound-pg-row strong { color:#263735; font-size:12px; font-weight:600; }
.inbound-pg-identity strong { font-variant-numeric:tabular-nums; }
.summary-meta { color:var(--muted); font-size:12px; margin-top:6px; } .summary-total { font-weight:700; margin:10px 0 6px; } .summary-table { width:100%; border-collapse:collapse; font-size:13px; } .summary-table th,.summary-table td { border-top:1px solid #e3ece9; padding:8px 4px; text-align:left; } .summary-table th:last-child,.summary-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; } .summary-table th { color:var(--muted); font-size:12px; font-weight:600; }
.recommendation-advice { margin:10px 0; white-space:pre-wrap; }.recommendation-candidates { display:grid; gap:8px; margin-top:12px; }.recommendation-candidates > span { color:var(--muted); font-size:12px; font-weight:600; }.recommendation-candidates > div { padding:9px 0; border-top:1px solid #e9eeee; }.recommendation-candidates > div span { display:block; color:var(--muted); font-size:12px; }.result-notice { margin:12px 0 0; color:#765a2d; font-size:12px; }
.availability-sku { display:grid; gap:3px; }.availability-sku > strong { display:flex; flex-wrap:wrap; align-items:center; gap:2px; color:var(--ink); }.availability-result-group { min-width:0; border-top:1px solid #e9eeee; padding:9px 0; }.recommendation-candidates > .availability-result-group { border-top:1px solid #e9eeee; }.availability-result-heading,.availability-result-group > summary { color:#53625f; font-size:12px; font-weight:700; cursor:pointer; }.availability-result-group.is-open > .availability-result-heading { cursor:default; }.availability-result-group-body { display:grid; gap:8px; margin-top:8px; }.availability-result-group-body > .availability-sku { border-top:1px solid #edf2f0; padding-top:8px; }.availability-result-group-body > .availability-sku:first-child { border-top:0; padding-top:0; }.window-days-more { margin-top:8px; }.window-days-more > summary { color:#08755f; font-size:12px; font-weight:700; cursor:pointer; }.window-days-more > .window-days { margin-top:8px; }.warehouse-pg-link, .window-pg-link { border:0; border-bottom:1px solid #168b73; padding:0; background:transparent; color:#08755f; font:inherit; font-weight:700; cursor:pointer; }.warehouse-pg-link:hover, .window-pg-link:hover { color:#045c4c; border-bottom-color:currentColor; }.warehouse-separator { display:inline !important; margin:0 2px; color:var(--ink) !important; font-size:inherit !important; }
.shipping-meta { margin:8px 0 10px; color:var(--muted); font-size:12px; }.shipping-fulfillment { display:grid; gap:7px; padding:10px 0; border-top:1px solid #e2ebe8; }.shipping-heading,.shipping-route { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 10px; }.shipping-heading > strong { min-width:0; color:var(--ink); }.shipping-status { color:#8a621d; font-size:12px; font-weight:700; }.shipping-status.is-deliverable,.shipping-stock-ok { color:#08755f; }.shipping-route { padding-left:10px; border-left:2px solid #cfe3dd; font-size:12px; }.shipping-route > span { color:var(--muted); }.shipping-route > b { font-size:12px; }.shipping-stock-empty { color:#775d45; }
.recommendation-sku { display:grid; gap:7px; }.pg-list { display:grid; gap:4px; padding-left:10px; border-left:2px solid #dceae6; }.pg-row { display:grid; grid-template-columns:180px minmax(0,1fr); gap:8px; align-items:center; border:0; border-radius:3px; padding:7px 8px; background:#f4f8f7; color:#35514a; text-align:left; }.pg-row:hover { background:#e3f1ed; color:var(--accent-dark); }.pg-row strong { font-size:12px; }.pg-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.composer { width:min(100%,920px); margin:0 auto; padding:16px 28px 24px; display:flex; gap:10px; align-items:flex-end; } .composer textarea { resize:none; min-height:48px; max-height:160px; padding:13px 48px 13px 14px; line-height:1.45; }
.send-button { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border:0; border-radius:4px; background:var(--accent); color:#fff; } .send-button:disabled { background:#aab8b5; cursor:wait; } .send-button svg { width:19px; }
.schedule-open { display:inline-flex; align-items:center; gap:6px; margin-top:12px; border:1px solid #9acdbf; border-radius:4px; padding:7px 10px; background:#effaf5; color:#0a6654; font-weight:700; }.schedule-open:hover { background:#dff3ea; }.schedule-open svg { width:15px; }
.pg-related-documents,.pg-timeline { display:grid; gap:7px; margin-top:12px; }.pg-related-documents span,.pg-timeline > div { padding:8px 0; border-top:1px solid #e5ece9; color:#405653; font-size:13px; }.pg-timeline > div { display:grid; grid-template-columns:145px minmax(0,1fr); gap:3px 12px; }.pg-timeline time { grid-row:span 2; color:var(--muted); font-size:12px; }.pg-timeline span { color:var(--muted); }
.pg-record-actions { display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:100%; }.pg-record-actions .inline-link { min-width:0; }.pg-detail-action { flex:0 0 auto; border:1px solid #b9d9d2; border-radius:4px; padding:2px 7px; background:#f3fbf8; color:#08755f; font-size:12px; font-weight:700; line-height:1.45; }.pg-detail-action:hover { border-color:#168b73; background:#e4f5ef; color:#045c4c; }
.pg-row .pg-record-actions,.pg-inventory-row .pg-record-actions,.sale-item .pg-record-actions,.inventory-barcode-identity .pg-record-actions { display:inline-flex; overflow:visible; color:inherit; font-size:inherit; }
.pg-detail-modal { width:min(1320px,calc(100vw - 28px)); }.pg-detail-modal .schedule-header { padding:16px 22px 10px; border-bottom:1px solid #dcebf3; }.pg-detail-modal .record-detail-content { padding:0 22px 22px; background:#f5f9fc; }.pg-detail-page { --pg-blue:#009aea; --pg-blue-dark:#007cc6; --pg-blue-soft:#e9f8ff; --pg-amber:#d47a00; display:grid; gap:16px; color:#132c38; }.pg-detail-workspace { display:grid; grid-template-columns:300px minmax(0,1fr); gap:14px; align-items:start; }.pg-detail-sidebar { position:sticky; top:0; display:grid; gap:12px; min-width:0; }.pg-asset-card,.pg-sidebar-section,.pg-detail-section { margin:0; border:1px solid #dcebf3; border-radius:6px; background:#fff; box-shadow:none; }.pg-asset-card { display:grid; gap:12px; padding:18px; }.pg-product-thumb { width:74px; height:74px; display:grid; place-items:center; border:1px solid #d5e9f4; border-radius:6px; background:linear-gradient(180deg,#f8fdff,#eef8fe); color:var(--pg-blue); }.pg-product-thumb svg { width:34px; height:34px; }.pg-asset-card h2 { margin:0; color:#122d3a; font-size:17px; line-height:1.45; }.pg-asset-card dl { display:grid; gap:10px; margin:0; padding:10px 0; border-top:1px solid #edf5f8; border-bottom:1px solid #edf5f8; }.pg-asset-card dl div { display:grid; grid-template-columns:56px minmax(0,1fr); gap:8px; align-items:center; }.pg-asset-card dt { color:#6b7d86; font-size:12px; }.pg-asset-card dd { display:flex; min-width:0; align-items:center; gap:8px; margin:0; color:#284552; font-size:13px; overflow-wrap:anywhere; }.pg-asset-card dd svg { width:14px; height:14px; color:#6b7d86; }.pg-link-action { display:inline-flex; align-items:center; gap:2px; color:var(--pg-blue-dark); font-size:12px; font-weight:700; white-space:nowrap; }.pg-link-action svg { width:13px; height:13px; }.pg-status-stack { display:flex; flex-wrap:wrap; gap:7px; }.pg-status-pill { display:inline-flex; align-items:center; min-height:26px; border:1px solid #d4e6ef; border-radius:4px; padding:3px 9px; background:#fafdff; color:#536875; font-size:12px; font-weight:700; }.pg-status-pill.is-ok { border-color:#b9e4ce; background:#eefaf4; color:#117348; }.pg-status-pill.is-warn { border-color:#ffd8a8; background:#fff7e8; color:#9c5f00; }.pg-status-pill.is-blue { border-color:#bfe6fb; background:var(--pg-blue-soft); color:var(--pg-blue-dark); }.pg-status-pill.is-danger { border-color:#ffd0d0; background:#fff0f0; color:#c0392b; }.pg-sidebar-section { padding:16px; }.pg-sidebar-section h3 { margin:0 0 12px; font-size:14px; }.pg-detail-documents { display:grid; grid-template-columns:1fr; gap:0; }.pg-detail-documents > div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:8px; align-items:center; min-height:36px; padding:7px 0; border-top:1px solid #edf5f8; }.pg-detail-documents > div:first-child { border-top:0; }.pg-detail-documents span { color:#6b7d86; font-size:12px; }.pg-lifecycle { display:grid; gap:0; }.pg-lifecycle article { position:relative; display:grid; grid-template-columns:74px minmax(0,1fr); gap:10px; padding:9px 0 9px 14px; border-left:2px solid #dbeef8; }.pg-lifecycle article::before { content:""; position:absolute; left:-5px; top:17px; width:8px; height:8px; border-radius:50%; background:var(--pg-blue); }.pg-lifecycle time { color:#6b7d86; font-size:12px; }.pg-lifecycle div { display:grid; gap:2px; }.pg-lifecycle strong { font-size:12px; }.pg-lifecycle span { color:#6b7d86; font-size:12px; overflow-wrap:anywhere; }.pg-detail-main { min-width:0; display:grid; gap:12px; }.pg-detail-tabs { display:flex; overflow:auto; gap:0; border:1px solid #dcebf3; border-radius:6px; background:#fff; }.pg-detail-tabs button { min-height:46px; min-width:104px; border:0; border-bottom:3px solid transparent; padding:0 16px; background:transparent; color:#506774; font-weight:700; cursor:pointer; }.pg-detail-tabs button:hover { background:#f0f9ff; color:var(--pg-blue-dark); }.pg-detail-tabs button.is-active { border-bottom-color:var(--pg-blue); color:var(--pg-blue-dark); background:#fff; }.pg-detail-top-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:12px; align-items:start; }.pg-detail-section { min-width:0; padding:16px; }.pg-detail-section-title { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-bottom:12px; }.pg-detail-section-title h3 { margin:0; border-left:3px solid var(--pg-blue); padding-left:8px; font-size:15px; }.pg-detail-section-title span { margin-right:auto; color:#8a9aa2; font-size:12px; }.pg-section-refresh { display:inline-flex; align-items:center; gap:5px; min-height:30px; border:1px solid #bfe2f5; border-radius:4px; padding:5px 9px; background:#f5fbff; color:var(--pg-blue-dark); font-size:12px; font-weight:700; }.pg-section-refresh svg { width:14px; height:14px; }.pg-current-grid,.pg-finance-grid,.pg-field-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; }.pg-current-grid > div,.pg-finance-grid > div,.pg-field-grid > div { min-height:50px; padding:7px 0; border-bottom:1px solid #edf4f8; }.pg-current-grid span,.pg-finance-grid span,.pg-field-grid span { display:block; color:#6b7d86; font-size:12px; }.pg-current-grid strong,.pg-finance-grid strong,.pg-field-grid strong { display:block; min-width:0; color:#17313d; font-size:13px; font-weight:700; overflow-wrap:anywhere; }.pg-finance-grid { margin-top:12px; padding-top:12px; border-top:1px solid #edf4f8; }.pg-finance-grid strong { color:var(--pg-blue-dark); }.pg-calendar-slot .pg-detail-section { height:100%; }.pg-detail-calendar-section { padding-bottom:12px; }.pg-detail-calendar-section .schedule-controls { padding:2px 0 12px; }.pg-detail-calendar-section .calendar-weekdays,.pg-detail-calendar-section .schedule-calendar { margin:0; }.pg-detail-calendar-section .calendar-day { min-height:50px; }.pg-detail-calendar-section .calendar-day.rented .day-status { border-color:#9bd5ff; background:#e8f6ff; color:var(--pg-blue-dark); }.pg-detail-calendar-section .calendar-day.occupied .day-status { border-color:#bfe8c6; background:#f0fbf1; color:#2d8f31; }.pg-table-wrap { overflow:auto; border:1px solid #e4eef4; border-radius:4px; }.pg-table-wrap table { width:100%; min-width:620px; border-collapse:collapse; font-size:12px; }.pg-table-wrap th { padding:9px 10px; background:#f3f8fb; color:#5d707a; text-align:left; white-space:nowrap; }.pg-table-wrap td { padding:14px 10px; border-top:1px solid #e9f1f5; color:#536875; text-align:center; }.pg-empty-row td { color:#a0adb3; }.pg-detail-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.pg-detail-card-grid .pg-table-wrap table { min-width:520px; }.pg-detail-empty { margin:0; color:#8a9aa2; font-size:13px; }.pg-detail-loading { color:#536875; }
.order-detail-modal { width:min(1240px,calc(100vw - 32px)); }.order-detail-modal .schedule-header { padding:18px 24px 10px; }.order-detail-modal .record-detail-content { padding:0 24px 24px; }.order-detail-page { display:grid; gap:14px; }.order-detail-hero { display:grid; grid-template-columns:minmax(260px,.75fr) minmax(0,1fr); gap:18px; align-items:start; border:1px solid #d9e7e2; border-radius:6px; padding:18px; background:#f7fbfa; }.order-detail-title h2 { margin:2px 0 8px; font-size:22px; font-variant-numeric:tabular-nums; }.order-detail-badges { display:flex; flex-wrap:wrap; gap:6px; }.order-detail-badges span { display:inline-flex; min-height:24px; align-items:center; border:1px solid #d7e2df; border-radius:999px; padding:3px 10px; background:#fff; color:#53625f; font-size:12px; font-weight:700; }.order-detail-hero-grid,.order-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; }.order-detail-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }.order-detail-kv { display:grid; gap:3px; min-width:0; padding-top:8px; border-top:1px solid #e3ece9; }.order-detail-kv span { color:var(--muted); font-size:12px; }.order-detail-kv strong { min-width:0; overflow-wrap:anywhere; font-size:13px; font-weight:650; }.order-detail-summary,.order-detail-metrics-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.order-detail-summary { align-items:stretch; }.order-detail-metric { display:grid; gap:4px; min-height:62px; border:1px solid #e1eae7; border-radius:6px; padding:12px; background:#fff; }.order-detail-metric span { color:var(--muted); font-size:12px; }.order-detail-metric strong { min-width:0; overflow-wrap:anywhere; font-size:16px; }.order-detail-metric.wide { grid-column:span 1; }.order-detail-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }.order-detail-section { min-width:0; border:1px solid #e1eae7; border-radius:6px; padding:16px; background:#fff; }.order-detail-section:first-child,.order-detail-section:nth-child(3) { grid-column:1 / -1; }.order-detail-section header { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:12px; }.order-detail-section h3 { font-size:15px; }.order-detail-section header span { color:var(--muted); font-size:12px; }.order-product-list { display:grid; border:1px solid #e3ece9; border-radius:5px; overflow:hidden; }.order-product-row { display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(240px,1fr) minmax(90px,.4fr); gap:12px; align-items:center; padding:12px 14px; border-bottom:1px solid #e6eeeb; }.order-product-row:last-child { border-bottom:0; }.order-product-row strong { color:#173c35; }.order-product-row span { display:block; color:var(--muted); font-size:12px; }.order-product-money { display:flex; flex-wrap:wrap; gap:6px 10px; }.order-product-money span { color:#425451; font-variant-numeric:tabular-nums; }.order-detail-address { margin-top:12px; border:1px solid #e4ece9; border-radius:5px; padding:11px 12px; background:#f8fbfa; color:#41514e; }.order-payment-list,.order-note-block { margin-top:14px; }.order-payment-list h4,.order-logistics-columns h4,.order-note-block h4 { margin:0 0 8px; font-size:13px; }.order-payment-list article { display:grid; grid-template-columns:170px 90px minmax(80px,.6fr) minmax(180px,1fr); gap:10px; padding:8px 0; border-top:1px solid #edf2f0; color:#52615e; font-size:12px; }.order-payment-list article strong { color:#1f332f; }.order-logistics-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.order-logistics-columns > div { border:1px solid #e4ece9; border-radius:5px; padding:12px; background:#fbfdfc; }.order-logistics-columns p { margin:10px 0 0; color:#435451; line-height:1.6; }.order-notes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.order-note-block article { display:grid; gap:3px; padding:9px 0; border-top:1px solid #edf2f0; }.order-note-block time { color:var(--muted); font-size:12px; }.order-note-block strong { font-size:12px; }.order-note-block p { margin:0; color:#41514e; line-height:1.55; white-space:pre-wrap; }
.order-detail-modal { width:min(1280px,calc(100vw - 28px)); }.order-detail-modal .schedule-dialog { --order-blue:#009aea; --order-blue-dark:#007cc6; --order-blue-soft:#eef9ff; }.order-detail-modal .schedule-header { padding:18px 26px 12px; }.order-detail-modal .record-detail-content { padding:0 26px 26px; }.order-detail-page { gap:0; }.order-detail-hero { grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr); gap:28px; border:0; border-bottom:1px solid #dbe9ef; border-radius:0; padding:20px 0 22px; background:#fff; }.order-detail-title h2 { font-size:25px; }.order-detail-badges span { border-color:#cfe7f5; background:#f8fcff; color:#426273; }.order-detail-badges span:first-child { border-color:#bfe8f8; background:#dff6ff; color:#006fae; }.order-detail-hero-grid { gap:0; }.order-detail-hero-grid .order-detail-kv { padding:5px 18px 5px 0; border-top:0; border-right:1px solid #dce9ef; }.order-detail-hero-grid .order-detail-kv:nth-child(3n) { border-right:0; }.order-detail-hero-grid .order-detail-kv strong { font-size:14px; }.order-detail-tabs { display:flex; align-items:center; gap:0; border-bottom:1px solid #d8e7ee; background:#f8fbfd; }.order-detail-tab { min-width:130px; min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-bottom:3px solid transparent; background:transparent; color:#53636c; font-weight:700; cursor:pointer; }.order-detail-tab:hover { background:#eef8fd; color:#007cc6; }.order-detail-tab.is-active { border-bottom-color:var(--order-blue); background:#fff; color:#007cc6; }.order-detail-tab em { border-radius:999px; padding:2px 8px; background:#e7f4fb; color:#6d7d86; font-style:normal; font-size:11px; font-weight:600; }.order-detail-panel { display:none; padding:22px 0 0; }.order-detail-panel.is-active { display:grid; }.order-detail-panel[data-order-panel="overview"] { grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:start; }.order-detail-main-column,.order-detail-side-column { min-width:0; display:grid; gap:16px; }.order-detail-section { border-color:#dce9ef; border-radius:5px; padding:18px; box-shadow:none; }.order-detail-section:first-child,.order-detail-section:nth-child(3) { grid-column:auto; }.order-detail-section header { margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #edf4f7; }.order-detail-section h3 { font-size:17px; }.order-detail-section header span { color:#697a84; }.order-detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; }.order-detail-kv { min-height:58px; padding:8px 12px 8px 0; border-top:0; border-bottom:1px solid #edf3f6; }.order-detail-kv strong { font-size:14px; }.order-detail-metrics-row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.order-detail-metric { border-color:#dce9ef; background:#fbfdff; }.order-product-list { border-color:#dce9ef; }.order-product-row { grid-template-columns:minmax(280px,1.55fr) minmax(180px,.8fr) minmax(250px,1fr) minmax(80px,.35fr); gap:18px; padding:15px 16px; }.order-product-row strong { color:#15333d; }.order-pg-action .pg-detail-action { border-color:#bde3f8; background:#eef9ff; color:#007cc6; }.order-detail-address { border-color:#dce9ef; background:#f8fcff; }.order-notes-grid { grid-template-columns:1fr; gap:10px; }.order-note-block { margin-top:0; }.order-note-block article { padding:10px 0; }.order-detail-side-column .order-note-block article:nth-of-type(n+6) { display:none; }.order-detail-side-column .order-detail-section[data-order-section="notes"]::after { content:"更多备注可切换到备注标签查看"; display:block; margin-top:10px; color:#697a84; font-size:12px; }.order-payment-list article { grid-template-columns:180px 100px minmax(100px,.7fr) minmax(220px,1fr); }.second-sale-content { width:min(100%,1180px); margin:0 auto; padding:24px 28px 48px; }.sale-filter { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; padding:16px; border:1px solid var(--line); border-radius:5px; background:#fff; }.sale-filter label { font-size:12px; }.sale-filter input,.sale-filter select { min-height:39px; border:1px solid #cbd6d4; border-radius:4px; padding:8px 10px; color:var(--ink); background:#fff; }.sale-filter .primary-button { min-height:39px; }.sale-feedback { min-height:20px; margin:16px 0 8px; color:var(--muted); }.second-sale-list { border:1px solid var(--line); border-radius:5px; overflow:hidden; background:#fff; }.second-sale-head,.second-sale-row { display:grid; grid-template-columns:1.2fr .85fr minmax(160px,1.8fr) .7fr 1fr 1.35fr 1fr; gap:12px; align-items:center; padding:13px 16px; }.second-sale-head { background:#f7faf9; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; font-weight:700; }.second-sale-row { border-bottom:1px solid #e6ecea; color:#435155; }.second-sale-row:last-child { border-bottom:0; }.second-sale-row > span,.second-sale-row time { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sale-number,.inline-link { width:max-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; border:0; padding:0; background:transparent; color:var(--accent-dark); font-weight:700; text-decoration:underline; text-underline-offset:3px; text-align:left; }.sale-number:hover,.inline-link:hover { color:var(--accent); }.sale-status { color:#146d5b; font-weight:700; }.sale-detail-title { margin-bottom:18px; }.sale-detail-section { margin-bottom:16px; border:1px solid var(--line); border-radius:5px; padding:16px; background:#fff; }.sale-detail-section h3 { margin-bottom:12px; font-size:15px; }.sale-item-list,.sale-message-list { display:grid; gap:8px; }.sale-item { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; align-items:center; border:1px solid #e2eae7; border-radius:4px; padding:10px; background:#f8fbfa; color:#35514a; text-align:left; }.sale-item:hover { background:#e9f4ef; }.sale-item span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sale-message-list > div { border-top:1px solid #e8eeec; padding:10px 0; }.sale-message-list > div:first-child { border-top:0; padding-top:0; }.sale-message-list time { margin-right:10px; color:var(--muted); font-size:12px; }.sale-message-list p { margin:5px 0 0; white-space:pre-wrap; }
.inventory-content { width:min(100%,1180px); margin:0 auto; padding:24px 28px 48px; }.inventory-filter { display:grid; grid-template-columns:1.5fr 1.1fr repeat(3,minmax(120px,.8fr)) auto; gap:12px; align-items:end; padding:16px; border:1px solid var(--line); border-radius:5px; background:#fff; }.inventory-filter label { min-width:0; font-size:12px; }.inventory-filter input,.inventory-filter select { width:100%; min-height:39px; box-sizing:border-box; border:1px solid #cbd6d4; border-radius:4px; padding:8px 10px; color:var(--ink); background:#fff; }.inventory-filter .primary-button { min-height:39px; }.inventory-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:24px 0 8px; }.inventory-section-heading h3 { margin:0; font-size:15px; }.inventory-section-heading span { color:var(--muted); font-size:12px; }.inventory-summary-panel,.inventory-list-panel { border-top:1px solid var(--line); }.inventory-sku-summary { border:1px solid var(--line); border-radius:5px; overflow:hidden; background:#fff; }.inventory-summary-row { display:grid; grid-template-columns:minmax(240px,1.25fr) minmax(310px,1fr) minmax(300px,1.45fr); gap:16px; align-items:center; padding:14px 16px; border-bottom:1px solid #e4ece9; }.inventory-summary-row:last-child { border-bottom:0; }.inventory-summary-title { min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; }.inventory-summary-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
/* 商品名从纯文本改成下钻按钮后，仍需保持与原来一致的截断行为与字号。 */
.inventory-summary-sku { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }.inventory-summary-title span { color:var(--muted); font-size:11px; }.inventory-summary-tag { display:inline-flex; align-items:center; width:max-content; min-height:19px; border:1px solid #bfe4f8; border-radius:3px; padding:1px 5px; background:#eef9ff; color:#007cc6 !important; font-size:11px; font-weight:700; }.inventory-summary-totals,.inventory-summary-store { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.inventory-summary-count { display:inline-flex; gap:4px; align-items:baseline; color:#566462; font-size:12px; font-variant-numeric:tabular-nums; }.inventory-summary-count b { color:inherit; font-size:11px; font-weight:600; }.inventory-summary-count.in-stock { color:#17745f; }.inventory-summary-count.rented { color:#397fd0; }.inventory-summary-count.repair { color:#b36f13; }.inventory-summary-count.sold { color:#9a5140; }.inventory-summary-stores { min-width:0; display:grid; gap:6px; }.inventory-summary-store { min-height:26px; padding-top:6px; border-top:1px solid #edf2f0; }.inventory-summary-store:first-child { padding-top:0; border-top:0; }.inventory-summary-store > strong { min-width:58px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#53625f; font-size:12px; }.inventory-summary-more { display:flex; justify-content:flex-end; padding:10px 0 0; }.inventory-summary-full-template { display:none; }.inventory-summary-modal,.inventory-barcode-modal { width:min(980px,calc(100vw - 32px)); }.inventory-summary-modal-content,.inventory-barcode-modal-content { max-height:min(64vh,620px); overflow:auto; padding:18px 26px 24px; }.inventory-summary-modal-content .inventory-summary-row { grid-template-columns:minmax(260px,1.1fr) minmax(260px,.9fr) minmax(260px,1.2fr); }.inventory-barcode-modal-content .inventory-barcode-list { margin-top:0; }
.inventory-sku-summary { min-width:0; }.inventory-summary-row { grid-template-columns:minmax(0,1fr) minmax(94px,max-content); grid-template-areas:"title stores" "totals stores"; gap:7px 14px; align-items:start; padding:13px 16px; }.inventory-summary-title { grid-area:title; }.inventory-summary-totals { grid-area:totals; gap:6px; }.inventory-summary-stores { grid-area:stores; justify-self:end; align-self:center; max-width:150px; }.inventory-summary-store { min-height:0; justify-content:flex-end; gap:6px; padding-top:0; border-top:0; color:#53625f; font-size:12px; white-space:nowrap; }.inventory-summary-store > strong { min-width:0; max-width:88px; }.inventory-summary-store > span { color:#53625f; font-size:12px; }.inventory-summary-count { padding:1px 0; font-size:12px; line-height:1.3; }.inventory-summary-count b { font-size:11px; }.inventory-summary-modal-content .inventory-summary-row { grid-template-columns:minmax(0,1fr) minmax(110px,max-content); }
.schedule-modal { width:min(680px,calc(100vw - 32px)); max-width:none; border:0; border-radius:6px; padding:0; color:var(--ink); box-shadow:0 20px 60px rgba(18,37,33,.28); }.schedule-modal::backdrop { background:rgba(16,29,26,.52); }.schedule-dialog { background:#fff; }.schedule-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 26px 16px; border-bottom:1px solid var(--line); }.schedule-meta { margin:6px 0 0; color:var(--muted); font-size:12px; }.schedule-close { color:#657477; }.schedule-controls { display:flex; align-items:center; justify-content:center; gap:14px; padding:18px 26px; }.schedule-controls strong { min-width:118px; text-align:center; font-size:16px; }.schedule-controls .quiet-button { width:34px; height:34px; display:grid; place-items:center; padding:0; }.schedule-controls svg { width:17px; }.calendar-weekdays,.schedule-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0 26px; }.calendar-weekdays { border-bottom:1px solid var(--line); color:#5b6669; font-size:12px; text-align:center; }.calendar-weekdays span { padding:9px 3px; }.schedule-calendar { padding-bottom:18px; }.calendar-day { min-height:75px; display:flex; flex-direction:column; align-items:center; gap:8px; padding:9px 3px; border-bottom:1px solid #e8eeec; color:#566367; font-size:12px; }.calendar-day.outside { color:#b7c1bf; background:#fafcfc; }.calendar-day .day-status { min-width:52px; border-radius:4px; padding:4px 6px; text-align:center; font-size:12px; }.calendar-day.rented .day-status { border:1px solid #b7d7fa; background:#edf5ff; color:#397fd0; }.calendar-day.occupied .day-status { border:1px solid #c8e3d6; background:#eff9f2; color:#45a348; }.schedule-legend { display:flex; justify-content:center; gap:20px; border-top:1px solid var(--line); padding:14px 26px 18px; color:var(--muted); font-size:12px; }.schedule-legend span { display:inline-flex; align-items:center; gap:6px; }.legend-dot { width:10px; height:10px; border-radius:2px; }.legend-dot.rented { background:#79b5fa; }.legend-dot.occupied { background:#7ccf73; }.record-detail-content { min-width:0; padding:0 26px 24px; }.record-detail-content .result-grid { margin-top:0; }.record-detail-content .result-grid > div { min-width:0; }.record-detail-content .schedule-open { margin-top:16px; }.schedule-loading { grid-column:1 / -1; margin:24px 0; color:var(--muted); text-align:center; }
.schedule-modal.order-detail-modal { width:min(1280px,calc(100vw - 28px)); }
.schedule-modal.pg-detail-modal { width:min(1440px,calc(100vw - 56px)); max-height:min(92vh,980px); }
.schedule-modal.pg-detail-modal .schedule-dialog { max-height:min(92vh,980px); display:grid; grid-template-rows:auto minmax(0,1fr); }
.schedule-modal.pg-detail-modal .record-detail-content { overflow:auto; }
.pg-inline-accessories { margin-top:14px; border:0; border-top:1px solid #edf4f8; border-radius:0; padding:14px 0 0; background:transparent; }
.pg-inline-accessories .pg-detail-section-title h3 { border-left:0; padding-left:0; }
.available-pgs-list { display:grid; gap:6px; max-height:min(52vh,460px); overflow:auto; padding:18px 26px 24px; }.available-pgs-list .pg-row { width:100%; }
/* 档期全租光时的逐台库存明细：默认折叠，折叠标题直接给出诊断结论（几台被占用 / 几台状态不可租），
   展开后逐台可点击进入 PG 详情。放在聊天流里，因此高度设上限并单独滚动，避免把对话冲走。 */
.pg-inventory-panel { margin-top:10px; border:1px solid #e2ebe8; border-radius:5px; background:#fbfdfc; }
.pg-inventory-panel > summary { padding:9px 12px; cursor:pointer; color:#3d6b60; font-size:12px; font-weight:600; }
.pg-inventory-panel[open] > summary { border-bottom:1px solid #e7efec; }
.pg-inventory-rows { display:grid; gap:4px; max-height:min(46vh,380px); overflow:auto; padding:8px; }
.pg-inventory-row { display:grid; gap:3px; width:100%; padding:8px 10px; border:1px solid #e5ece9; border-radius:4px; background:#fff; text-align:left; cursor:pointer; }
.pg-inventory-row:hover { border-color:#9acdbf; background:#f4fbf8; }
.pg-inventory-row strong { color:var(--ink); font-size:13px; font-weight:700; letter-spacing:.2px; }
.pg-inventory-row span { color:var(--muted); font-size:12px; }
.holiday-calendar-content { width:min(100%,1180px); margin:0 auto; padding:24px 28px 48px; }.calendar-year-select { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; }.calendar-year-select select { min-height:34px; border:1px solid var(--line); border-radius:4px; padding:5px 8px; background:#fff; color:var(--ink); }.holiday-calendar-notice { margin:0 0 14px; color:#5f6d6a; font-size:13px; }.holiday-calendar-list { display:grid; gap:10px; }.holiday-calendar-row { display:grid; grid-template-columns:130px 130px 130px 130px minmax(170px,1fr) minmax(220px,1.3fr) 62px 34px; gap:10px; align-items:end; padding:13px; border:1px solid var(--line); border-radius:5px; background:#fff; }.holiday-calendar-row label { display:grid; gap:5px; min-width:0; color:var(--muted); font-size:11px; font-weight:600; }.holiday-calendar-row input:not([type="checkbox"]) { box-sizing:border-box; width:100%; min-height:36px; border:1px solid #cbd6d4; border-radius:4px; padding:7px 8px; color:var(--ink); background:#fff; font-size:12px; }.holiday-calendar-row .holiday-enabled { display:flex; align-items:center; gap:6px; min-height:36px; white-space:nowrap; }.holiday-calendar-row .icon-button { width:34px; height:34px; padding:0; color:#83605a; }
@media (max-width:720px) { .chat-layout { grid-template-columns:1fr; } .sidebar { display:none; } .conversation-header { padding:16px; } .header-status { gap:8px; }.context-status { display:none; } .messages,.composer,.permission-content,.second-sale-content,.inventory-content { padding-left:16px; padding-right:16px; } .tool-strip { padding-left:16px; padding-right:16px; } .empty-state { margin-top:7vh; } .result-grid,.grant-grid { grid-template-columns:1fr; } .pg-row { grid-template-columns:1fr; }.scope-heading { align-items:flex-start; flex-direction:column; }.scope-heading select { width:100%; }.schedule-modal { width:calc(100vw - 20px); }.schedule-header { padding:18px; }.schedule-controls { padding:14px 12px; }.calendar-weekdays,.schedule-calendar { margin:0 12px; }.calendar-day { min-height:62px; }.calendar-day .day-status { min-width:42px; padding:3px; font-size:11px; }.sale-filter,.inventory-filter { grid-template-columns:1fr; }.second-sale-head { display:none; }.second-sale-row { grid-template-columns:1fr 1fr; gap:8px; margin:10px; border:1px solid #e1e9e6; border-radius:4px; }.second-sale-row > span:nth-of-type(1) { text-align:right; }.second-sale-row > span:nth-of-type(2),.second-sale-row > span:nth-of-type(3),.second-sale-row > span:nth-of-type(4),.second-sale-row > span:nth-of-type(5),.second-sale-row time { grid-column:1 / -1; }.sale-item { grid-template-columns:1fr; }.inventory-summary-row { grid-template-columns:1fr; grid-template-areas:"title" "totals" "stores"; gap:8px; }.inventory-summary-stores { justify-self:start; max-width:100%; }.inventory-summary-store { justify-content:flex-start; }.inventory-summary-title strong,.inventory-summary-sku { white-space:normal; }
  .inventory-barcode-list-head { display:none; }.inventory-barcode-row { grid-template-columns:minmax(0,1fr) auto; gap:7px 12px; padding:12px; }.inventory-barcode-identity { grid-column:1; }.inventory-barcode-status { grid-column:2; text-align:right; }.inventory-barcode-sku { grid-column:1 / -1; }.inventory-barcode-store,.inventory-barcode-listing { display:flex; align-items:center; gap:6px; }.inventory-barcode-row > div > span { display:block; }.inventory-barcode-store > span,.inventory-barcode-listing > span { display:inline; }.inventory-barcode-status > span { display:none; }
  .pg-detail-layout,.pg-detail-workspace,.pg-detail-top-grid,.pg-detail-card-grid,.pg-current-grid,.pg-finance-grid,.pg-field-grid { grid-template-columns:1fr; }.pg-detail-sidebar { position:static; }.pg-detail-tabs { overflow-x:auto; }.pg-detail-tabs button { min-width:96px; }.pg-detail-hero { flex-direction:column; }.pg-detail-hero-badges { justify-content:flex-start; }.pg-detail-documents { grid-template-columns:1fr; }.pg-detail-timeline article { grid-template-columns:1fr; gap:3px; }.pg-detail-modal .record-detail-content { padding-left:16px; padding-right:16px; }
  .order-detail-hero,.order-detail-layout,.order-detail-summary,.order-detail-metrics-row,.order-detail-hero-grid,.order-detail-grid,.order-detail-grid.compact,.order-logistics-columns,.order-notes-grid { grid-template-columns:1fr; }.order-detail-section:first-child,.order-detail-section:nth-child(3),.order-detail-metric.wide { grid-column:auto; }.order-product-row { grid-template-columns:1fr; }.order-payment-list article { grid-template-columns:1fr; gap:3px; }
  .holiday-calendar-content { padding-left:16px; padding-right:16px; }.holiday-calendar-row { grid-template-columns:1fr; gap:9px; }.holiday-calendar-row .icon-button { justify-self:end; }
}
@media (max-width:720px) { .order-detail-tabs { overflow-x:auto; justify-content:flex-start; }.order-detail-tab { min-width:112px; min-height:50px; }.order-detail-panel[data-order-panel="overview"] { grid-template-columns:1fr; }.order-detail-side-column,.order-detail-main-column { gap:12px; }.order-detail-modal .record-detail-content { padding-left:18px; padding-right:18px; }.order-detail-hero-grid .order-detail-kv { border-right:0; }.order-detail-panel { padding-top:16px; } }
