:root{--paper:#fff;--canvas:#f7f8f6;--panel:#fff;--ink:#18212d;--body:#59636e;--muted:#87919d;--line:#e2e6ea;--blue:#2d63d6;--blue-hover:#2255c2;--blue-soft:#edf3ff;--blue-wash:#f6f8fd;--teal:#23a090;--amber:#d89127;--danger:#d95555;--radius:12px;--shadow:0 12px 28px rgba(25,43,67,.045)}
body{background:var(--canvas);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}
.layout{grid-template-columns:244px minmax(0,1fr);background:var(--canvas)}
.sidebar{padding:28px 15px 18px;background:#fff;border-right:1px solid var(--line);color:var(--ink)}
.sidebar .brand-lockup{padding:0 10px 32px}.brand-lockup{gap:10px}.logo{width:34px;height:34px;border-radius:7px;background:#fff}.brand-lockup strong{font-size:14px;color:var(--ink);letter-spacing:.01em}.brand-lockup small{color:#76818c;font-size:9px;letter-spacing:.1em}.sidebar nav{gap:5px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.sidebar nav:hover{scrollbar-width:thin;scrollbar-color:#ccd5da transparent}.sidebar nav::-webkit-scrollbar{width:0}.sidebar nav:hover::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-thumb{border-radius:3px;background:#ccd5da}.sidebar nav::-webkit-scrollbar-track{background:transparent}.nav{height:44px;border-radius:8px;padding:0 11px;color:#68737f}.nav:hover{background:#f3f6fb;color:var(--blue)}.nav.active{background:var(--blue-soft);color:var(--blue)}.nav-icon{width:21px;height:21px;border:0;border-radius:0;color:#8793a0;font-size:16px}.nav.active .nav-icon{border:0;color:var(--blue)}.nav b{font-size:13px;font-weight:650}.sidebar-footer{border-top:1px solid var(--line);padding:17px 10px 2px;color:#7c8792}.sidebar-footer i{background:var(--teal)}.sidebar-footer button{color:#7b8793}.sidebar-footer button:hover{color:var(--blue)}
.content{padding:0 42px 44px}.header{height:102px;border-bottom:1px solid var(--line)}.header h1{font-size:24px;font-weight:720;color:var(--ink)}.header p{color:var(--muted);font-size:12px}.eyebrow{color:var(--blue);font-size:10px;letter-spacing:.14em}.header-tools{gap:16px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#677582;font-size:17px}.icon-button:hover{border-color:#bdccec;color:var(--blue)}.account{padding-left:17px;border-left-color:var(--line)}.account strong{font-size:12px;color:var(--ink)}.account small{color:var(--muted)}.account b{background:var(--blue-soft);color:var(--blue)}
.view{padding-top:28px}.overview-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.overview-intro h2{margin:8px 0 7px;font-size:26px;line-height:1.2;letter-spacing:0}.overview-intro p{max-width:580px;margin:0;color:var(--body);font-size:13px;line-height:1.75}.overview-live{display:flex;align-items:center;gap:8px;margin-bottom:3px;color:#65707c;font-size:11px}.overview-live i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(35,160,144,.11)}.overview-live small{margin-left:4px;color:#9aa3ad}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(118px,1fr));gap:12px}.metric-card{min-height:138px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.metric-card span{color:#687582;font-size:11px}.metric-card strong{font-size:31px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0}.metric-card small{color:#98a1aa;font-size:10px}.metric-card.attention{position:relative;isolation:isolate;overflow:hidden;border-color:#f0d6d6;background:#fffdfd}.metric-card.attention strong{color:var(--danger)}.metric-card.attention:after{content:"";position:absolute;inset:0;z-index:-1;border:2px solid rgba(211,73,73,.5);border-radius:inherit;opacity:0;pointer-events:none}.metric-card.attention.is-active:after{animation:critical-attention 1.7s ease-in-out infinite}@keyframes critical-attention{0%,100%{opacity:0}45%{opacity:1}}
.analytics-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:14px;margin-top:14px}.analytics-card,.queue-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.analytics-card{padding:20px}.trend-card{min-height:300px}.status-card{min-height:300px}.priority-card,.team-card{min-height:224px}.analytics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-head h3{margin:7px 0 3px;color:var(--ink);font-size:16px;letter-spacing:0}.analytics-head p{margin:0;color:#88929d;font-size:11px;line-height:1.5}.text-action{border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:650;white-space:nowrap}.text-action:hover{text-decoration:underline}.chart-key{display:flex;gap:13px;padding-top:6px;color:#84909b;font-size:10px}.chart-key span{display:flex;align-items:center;gap:5px}.chart-key i{width:7px;height:7px;border-radius:50%}.chart-key .created{background:var(--blue)}.chart-key .completed{background:var(--teal)}.trend-chart{display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;margin-top:28px}.trend-scale{height:174px;display:flex;flex-direction:column;justify-content:space-between;padding:0 0 13px;color:#98a2ad;font-size:10px}.trend-canvas svg{display:block;width:100%;height:174px;overflow:visible}.trend-canvas line{stroke:#edf0f3;stroke-width:.6}.trend-canvas polyline{fill:none;stroke-width:1.9;vector-effect:non-scaling-stroke}.trend-created{stroke:var(--blue)}.trend-completed{stroke:var(--teal)}.dot-created{fill:#fff;stroke:var(--blue);stroke-width:1}.dot-completed{fill:#fff;stroke:var(--teal);stroke-width:1}.trend-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px;color:#98a2ad;font-size:10px;text-align:center}.status-visual{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:18px;margin-top:22px}.status-donut{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;position:relative}.status-donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.status-donut>div{position:relative;z-index:1;text-align:center}.status-donut strong,.status-donut span{display:block}.status-donut strong{font-size:23px;line-height:1.1}.status-donut span{margin-top:3px;color:#939ca6;font-size:10px}.status-legend{display:grid;gap:9px}.status-legend>div{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center}.status-legend i{width:7px;height:7px;border-radius:50%}.status-legend span{overflow:hidden;color:#67727d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.status-legend b{color:#24303b;font-size:11px}.status-legend p{color:#97a0aa;font-size:11px}.priority-chart{display:grid;gap:16px;margin-top:28px}.priority-row>div{display:flex;justify-content:space-between;margin-bottom:7px;color:#68737e;font-size:11px}.priority-row b{color:#26323d}.priority-row i,.availability-bars i{display:block;height:7px;border-radius:99px;background:#edf0f4;overflow:hidden}.priority-row em,.availability-bars em{display:block;height:100%;border-radius:99px;background:var(--blue)}.priority-row.critical em{background:var(--danger)}.priority-row.urgent em{background:var(--amber)}.priority-row.normal em{background:var(--teal)}.worker-availability{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:20px;margin-top:23px}.availability-number{padding-right:17px;border-right:1px solid var(--line)}.availability-number strong{display:block;color:var(--blue);font-size:38px;line-height:1}.availability-number span{display:block;margin-top:6px;color:#7e8994;font-size:10px;line-height:1.4}.availability-bars{display:grid;gap:12px}.availability-bars>div{display:grid;grid-template-columns:74px 1fr 18px;gap:8px;align-items:center}.availability-bars span,.availability-bars b{color:#74808c;font-size:10px}.availability-bars b{text-align:right;color:#3b4752}.availability-bars div:nth-child(1) em{background:var(--blue)}.availability-bars div:nth-child(2) em{background:var(--teal)}.availability-bars div:nth-child(3) em{background:var(--amber)}.queue-panel{margin-top:14px;padding:20px}.queue-panel .analytics-head{margin-bottom:12px}.queue-item{min-height:70px;padding:12px 0;border-bottom:1px solid #edf0f2;background:transparent;grid-template-columns:minmax(160px,1.15fr) 72px minmax(130px,.95fr) 85px}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:#fafbfc}.queue-item strong{font-size:12px}.queue-item small{font-size:10px}.badge{border-radius:999px;padding:3px 8px;font-size:10px}.badge.normal{background:#edf7f5;color:#147b6c}.badge.critical{background:#fff0f0;color:#c64646}.badge.urgent{background:#fff5e5;color:#a86e10}.state{font-size:11px}.state:before{background:var(--blue)}
.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{min-height:82px;padding:18px 20px}.panel-heading h2,.section-heading h2,.chat-heading h2{font-size:18px;color:var(--ink)}.panel-heading p,.section-heading p,.chat-heading p{font-size:12px;line-height:1.6}.filters{padding:14px 20px;background:#fafbfc;border-bottom-color:var(--line)}.filters input,.filters select{border-color:#dbe1e7;background:#fff;border-radius:7px}.primary-button{min-height:40px;border-radius:7px;background:var(--blue);color:#fff;font-weight:650}.primary-button:hover{background:var(--blue-hover)}.secondary-button{border-color:#d9e0e7;border-radius:7px;color:#4f5b67}.table-wrap{border-top:0}th{background:#f7f8fa;color:#77828d}td{border-top-color:#edf0f2}.pager{border-top-color:#e9edf0}.pager button{border-color:#dce2e7;border-radius:7px}.section-heading{min-height:70px}.profile{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.record{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.chat-shell{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.chat-context{background:#f7f9fc;border-right-color:var(--line)}.messages{background:#fbfcfd}.user .bubble{border-color:var(--blue);background:var(--blue)}.drawer{box-shadow:-16px 0 40px rgba(21,39,58,.14)}.drawer-head{background:#f7f9fc;color:var(--ink);border-bottom:1px solid var(--line)}.drawer-head h2{color:var(--ink)}.drawer-head p{color:#71808d}.drawer-head button{border-color:#d9e1e8;color:#50606c}.drawer-body h3{color:#6e7b87}.backdrop{background:rgba(28,42,55,.24)}
.login-screen{background:var(--canvas)}.login-brand{background:#eef2f9;color:var(--ink)}.login-brand .brand-lockup strong{color:var(--ink)}.brand-copy>span{color:var(--blue)}.brand-copy h1{color:var(--ink)}.brand-copy p{color:#65717c}.login-foot{color:#8c97a2}.login-card h2{color:var(--ink)}.login-card input{border-color:#d9e0e7;border-radius:7px}.login-card input:focus{border-color:#86a7eb;box-shadow:0 0 0 3px rgba(45,99,214,.12)}
.login-mode-tabs{height:42px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#f2f4f7;display:grid;grid-template-columns:1fr 1fr;gap:4px}.login-mode-tabs button{border:0;border-radius:6px;background:transparent;color:#6f7b87;font-size:12px;font-weight:650}.login-mode-tabs button:hover{color:var(--blue)}.login-mode-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(30,49,75,.11)}.login-mode-tabs button:focus-visible{outline:2px solid #86a7eb;outline-offset:1px}.verification-input{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}.verification-input .secondary-button{height:48px}.profile-phone-status{padding:11px 12px;border:1px solid #e0e6ed;border-radius:8px;background:#f7f9fc;color:#687582;font-size:11px;line-height:1.6}.profile-phone-status strong{display:block;margin-bottom:2px;color:var(--ink);font-size:12px}.tenant-password-reset-form .verification-input input{min-width:0}.tenant-password-reset-form .verification-input button{min-height:42px}
@media(max-width:1240px){.metric-grid{grid-template-columns:repeat(3,1fr)}.analytics-grid{grid-template-columns:1fr}.content{padding:0 28px 36px}}@media(max-width:820px){.layout{display:block}.sidebar{height:auto;position:static}.content{padding:0 16px 28px}.overview-intro{align-items:flex-start;gap:16px;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.status-visual{grid-template-columns:132px 1fr}.analytics-grid{grid-template-columns:1fr}.queue-item{grid-template-columns:1fr 72px}.queue-address{display:none}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:118px;padding:15px}.metric-card strong{font-size:26px}.overview-intro h2{font-size:23px}.status-visual,.worker-availability{grid-template-columns:1fr}.status-donut{margin:auto}.availability-number{padding:0 0 12px;border:0;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.metric-card.attention.is-active:after{animation:none;opacity:1}}
/* 抽屉表单下拉与输入框同规格（绑定表单首个 select 场景），箭头用客服品牌灰 */
.tenant-password-reset-form select{width:100%;box-sizing:border-box;min-height:40px;border:1px solid #d5dee6;border-radius:7px;padding:8px 10px;background:#fff;color:#33424d;font:inherit;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23687784' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.tenant-password-reset-form select:disabled{border-color:#e1e7eb;background:#f4f6f7;color:#64717d;cursor:not-allowed}
/* 意向客户详情抽屉：detail-grid 内的可编辑输入框/下拉与全站表单同规格 */
.detail-grid .lead-element-input,.detail-grid input[type="text"],.detail-grid input[type="tel"],.detail-grid select{width:100%;box-sizing:border-box;min-height:40px;border:1px solid #d5dee6;border-radius:7px;padding:8px 10px;background:#fff;color:#33424d;font:inherit;font-size:12px}
.detail-grid .lead-element-input:focus,.detail-grid input[type="text"]:focus,.detail-grid input[type="tel"]:focus,.detail-grid select:focus{border-color:#86a7eb;box-shadow:0 0 0 3px rgba(45,99,214,.12);outline:0}
.detail-grid select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23687784' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}

/* 销售域居中弹窗：对齐销售智能体 Element 对话框交互（居中卡片+遮罩） */
/* 意向客户操作列：按钮保持一行不换行 */
.td-actions,.lead-actions{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}
.lead-actions .user-action{white-space:nowrap;padding:5px 8px}
.drawing-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.drawing-parameter-grid small{color:#71808d;line-height:1.5}
.tenant-password-reset-form .drawing-confirmation{display:flex;align-items:flex-start;gap:10px;line-height:1.6}
.tenant-password-reset-form .drawing-confirmation input{width:auto;min-height:0;margin-top:4px}
.drawing-parameter-snapshot{margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.drawing-parameter-snapshot>div{padding:10px 0;border-bottom:1px solid #e7ecef}
.drawing-parameter-snapshot dt{color:#71808d;font-size:12px}
.drawing-parameter-snapshot dd{margin:6px 0 0;color:#30404c;font-size:14px;overflow-wrap:anywhere}
.drawing-requirements-warning{padding:12px;border:1px solid #edc483;border-radius:7px;background:#fff8eb;color:#85591e;font-size:12px;line-height:1.65}
@media(max-width:640px){.drawing-parameter-grid,.drawing-parameter-snapshot{grid-template-columns:1fr}}
/* 按角色隐藏菜单后，剩余菜单从顶部连续排列。 */
#navigation { align-content: start; }

/* 产品价目导入沿用客服抽屉的表单规格，局部约束不改变其他导入页面。 */
.sales-price-import-form{gap:18px}
.sales-price-import-form>label{min-width:0}
.sales-price-import-form input[type=file]{min-width:0;padding:8px;color:#687784;font-size:12px;cursor:pointer}
.sales-price-import-form input[type=file]::file-selector-button{min-height:30px;margin-right:10px;padding:0 12px;border:1px solid #d5dee6;border-radius:5px;background:#f7f9fc;color:#33424d;font:inherit;font-weight:600;cursor:pointer}
.sales-price-import-form input[type=file]::file-selector-button:hover{background:#edf2f8}
.sales-price-import-form select:focus,.sales-price-import-form input:focus-visible{outline:2px solid #a8c0f0;outline-offset:2px}
.sales-price-import-help{margin:0;color:#71808d;font-size:11px;font-weight:400;line-height:1.6}
.sales-price-import-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.sales-price-import-result{display:grid;gap:16px;min-width:0;margin-top:24px}
.sales-price-import-result:empty{display:none}
.sales-price-import-result details{min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc;color:#50606c;font-size:12px}
.sales-price-import-result summary{cursor:pointer}
.sales-price-import-result pre{margin:12px 0 0;font:inherit;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.sales-price-import-result .table-wrap{max-width:100%;min-width:0}
.sales-price-import-result input{box-sizing:border-box;width:100%;min-width:90px;min-height:36px;padding:7px 9px;border:1px solid #d5dee6;border-radius:6px;background:#fff;color:#33424d;font:inherit;font-size:12px}
.sales-price-import-result [data-price-remove]{margin-top:8px}
.sales-price-import-result #priceImportConfirmed:empty{display:none}
.quote-manage-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.quote-selection-cell{width:42px;text-align:center}
.quote-selection-cell input{width:16px;height:16px;accent-color:#2f63eb;cursor:pointer}
.quote-selection-cell input:disabled{cursor:not-allowed}
.quote-delete-action{color:#b64135;border-color:#ead0cc}
.quote-delete-action:disabled,.quote-manage-actions .danger-button:disabled{opacity:.45;cursor:not-allowed}

.sales-tenant-scope{display:flex;align-items:center;gap:16px;margin:0 0 18px;padding:12px 16px;border:1px solid #dce3e8;border-radius:10px;background:#fff;color:#526575;font-size:13px}
.sales-tenant-scope label{display:flex;align-items:center;gap:10px}
.sales-tenant-scope select{min-width:220px;padding:8px 10px;border:1px solid #d5dee6;border-radius:6px;background:#fff;font:inherit}
.sales-scope-unselected>*{display:none}
