
/* =========================================================
   LIQIAO OS Design System
   Palette: executive navy + jade green + warm ivory.
   Typography scale uses clamp() for responsive readability.
   Spacing follows 4/8px rhythm; cards use 24px radius and soft shadows.
   ========================================================= */
:root{
  --bg:#f6f8fb; --surface:#ffffff; --surface-2:#f1f5f9; --ink:#102033; --muted:#65758b; --muted-2:#94a3b8;
  --primary:#0f766e; --primary-2:#14b8a6; --navy:#0f172a; --blue:#2563eb; --gold:#b7791f;
  --danger:#dc2626; --danger-bg:#fff1f2; --warn:#d97706; --warn-bg:#fff7ed; --ok:#059669; --ok-bg:#ecfdf5;
  --ring:0 0 0 4px rgba(20,184,166,.15); --radius-lg:28px; --radius:20px; --radius-sm:14px;
  --shadow-lg:0 24px 70px rgba(15,23,42,.12); --shadow:0 14px 40px rgba(15,23,42,.08); --gray-50:#f8fafc; --gray-100:#f1f5f9; --gray-200:#e2e8f0; --gray-400:#94a3b8; --gray-500:#64748b; --gray-700:#334155; --text:#1e293b;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at 10% 0%,rgba(20,184,166,.12),transparent 28%),linear-gradient(180deg,#f8fafc,#eef3f8);font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.55} button,input,select,textarea{font:inherit} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.45} a{color:inherit}.mono{font-family:"SFMono-Regular",Consolas,monospace}.num{text-align:right}.hide{display:none!important}.muted{color:var(--muted)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(1180px,100%);display:grid;grid-template-columns:1.18fr .82fr;background:rgba(255,255,255,.86);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.75);border-radius:36px;box-shadow:var(--shadow-lg);overflow:hidden}.login-visual{min-height:660px;padding:42px;color:#fff;background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(15,118,110,.78)),url('../images/culture-01.jpg') center/cover;display:flex;flex-direction:column;justify-content:space-between}.login-visual h2{font-size:clamp(32px,5vw,60px);line-height:1.05;margin:22px 0 16px;letter-spacing:-.05em}.login-visual p{font-size:17px;color:rgba(255,255,255,.78);max-width:620px}.login-panel{padding:42px;display:flex;flex-direction:column;gap:18px}.login-tabs{display:flex;gap:8px;background:var(--surface-2);padding:6px;border-radius:18px}.login-tabs button{flex:1;border:0;border-radius:14px;padding:11px;background:transparent;color:var(--muted);font-weight:800}.login-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.brand{display:flex;align-items:center;gap:12px;padding:20px 18px}.logo{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,var(--primary),#0f172a);color:white;display:grid;place-items:center;font-weight:900;box-shadow:0 12px 24px rgba(15,118,110,.22)}.brand h1{font-size:17px;margin:0;letter-spacing:-.02em}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.form-grid{display:grid;gap:13px}.field{display:grid;gap:7px}.field label{font-weight:750;color:#334155;font-size:12px} input,select,textarea{width:100%;border:1px solid #dbe5ef;background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);outline:none;transition:.2s ease} input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:var(--ring)} textarea{min-height:88px;resize:vertical}.app-shell{min-height:100vh;display:grid;grid-template-columns:292px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:rgba(255,255,255,.82);backdrop-filter:blur(24px);border-right:1px solid rgba(226,232,240,.9);padding:10px 12px;overflow:auto;z-index:10}.nav-section-title{margin:16px 14px 8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:8px}
.nav-section-title::before{content:"";width:3px;height:14px;border-radius:2px;flex-shrink:0}
.nav-group[data-section="经营闭环"]{background:rgba(15,118,110,.04);border-radius:16px;margin:0 4px}
.nav-group[data-section="经营闭环"] .nav-section-title{color:#0f766e}
.nav-group[data-section="经营闭环"] .nav-section-title::before{background:#0f766e}
.nav-group[data-section="经营闭环"] .nav-btn.active{background:linear-gradient(135deg,rgba(15,118,110,.12),rgba(20,184,166,.06));color:#0f766e;box-shadow:inset 0 0 0 1px rgba(15,118,110,.14)}
.nav-group[data-section="经营闭环"] .nav-icon{background:rgba(15,118,110,.08)}
.nav-group[data-section="经营闭环"] .nav-btn.active .nav-icon{background:rgba(15,118,110,.15)}

.nav-group[data-section="治理配置"]{background:rgba(183,121,31,.04);border-radius:16px;margin:0 4px}
.nav-group[data-section="治理配置"] .nav-section-title{color:#b7791f}
.nav-group[data-section="治理配置"] .nav-section-title::before{background:#b7791f}
.nav-group[data-section="治理配置"] .nav-btn.active{background:linear-gradient(135deg,rgba(183,121,31,.12),rgba(217,119,6,.06));color:#b7791f;box-shadow:inset 0 0 0 1px rgba(183,121,31,.14)}
.nav-group[data-section="治理配置"] .nav-icon{background:rgba(183,121,31,.08)}
.nav-group[data-section="治理配置"] .nav-btn.active .nav-icon{background:rgba(183,121,31,.15)}

.nav-group[data-section="运营扩展"]{background:rgba(37,99,235,.04);border-radius:16px;margin:0 4px}
.nav-group[data-section="运营扩展"] .nav-section-title{color:#2563eb}
.nav-group[data-section="运营扩展"] .nav-section-title::before{background:#2563eb}
.nav-group[data-section="运营扩展"] .nav-btn.active{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(59,130,246,.06));color:#2563eb;box-shadow:inset 0 0 0 1px rgba(37,99,235,.14)}
.nav-group[data-section="运营扩展"] .nav-icon{background:rgba(37,99,235,.08)}
.nav-group[data-section="运营扩展"] .nav-btn.active .nav-icon{background:rgba(37,99,235,.15)}

.nav-group[data-section="协作平台"]{background:rgba(124,58,237,.04);border-radius:16px;margin:0 4px}
.nav-group[data-section="协作平台"] .nav-section-title{color:#7c3aed}
.nav-group[data-section="协作平台"] .nav-section-title::before{background:#7c3aed}
.nav-group[data-section="协作平台"] .nav-btn.active{background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(139,92,246,.06));color:#7c3aed;box-shadow:inset 0 0 0 1px rgba(124,58,237,.14)}
.nav-group[data-section="协作平台"] .nav-icon{background:rgba(124,58,237,.08)}
.nav-group[data-section="协作平台"] .nav-btn.active .nav-icon{background:rgba(124,58,237,.15)}.nav-btn{width:100%;display:flex;align-items:center;gap:11px;border:0;border-radius:16px;background:transparent;color:#475569;padding:12px 14px;font-weight:800;text-align:left;transition:.18s}
.nav-group{padding-bottom:6px}
.nav-group+.nav-group{margin-top:6px}.nav-btn:hover{background:#f1f5f9;transform:translateX(2px)}.nav-btn.active{background:linear-gradient(135deg,rgba(15,118,110,.12),rgba(20,184,166,.06));color:var(--primary);box-shadow:inset 0 0 0 1px rgba(15,118,110,.14)}.nav-icon{width:26px;height:26px;border-radius:10px;background:#f8fafc;display:grid;place-items:center}.role-card{margin:18px 8px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:22px;padding:14px;box-shadow:var(--shadow)}.main{min-width:0}.topbar{position:sticky;top:0;z-index:8;height:74px;background:rgba(246,248,251,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.8);display:flex;align-items:center;gap:14px;padding:14px 22px}.search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.search input{border:0;padding:4px;background:transparent;box-shadow:none}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:7px 11px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--blue));color:white;display:grid;place-items:center;font-weight:900}.content{padding:24px;max-width:1720px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.page-title{font-size:clamp(26px,3vw,42px);line-height:1.12;margin:8px 0 8px;letter-spacing:-.045em}.page-desc{margin:0;color:var(--muted);max-width:920px}.btn-row,.toolbar,.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:14px}.btn{border:0;border-radius:14px;padding:10px 14px;font-weight:850;transition:.18s ease;display:inline-flex;align-items:center;gap:7px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white;box-shadow:0 12px 28px rgba(15,118,110,.2)}.btn-dark{background:var(--navy);color:white}.btn-soft{background:#fff;border:1px solid #dbe5ef;color:#334155}.btn-ghost{background:transparent;color:var(--muted)}.btn-small{padding:7px 10px;border-radius:12px;font-size:12px}.card{background:rgba(255,255,255,.9);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card-title{margin:0 0 6px;font-size:18px;letter-spacing:-.025em}.card-sub{margin:0;color:var(--muted);font-size:13px}.grid{display:grid;gap:16px}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.hero-card{position:relative;min-height:360px;overflow:hidden;padding:0;background:#0f172a}.culture-image{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05)}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.86),rgba(15,23,42,.15))}.hero-content{position:relative;z-index:2;height:100%;padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.hero-content h2{font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:-.05em;margin:16px 0}.hero-content p{max-width:620px;color:rgba(255,255,255,.78);font-size:16px}.culture-dots{display:flex;gap:6px;align-items:center}.dot{width:10px;height:10px;border:0;border-radius:999px;background:rgba(255,255,255,.35);padding:0}.dot.active{width:30px;background:#fff}.stat-card{background:linear-gradient(135deg,#7a76c3,#6b68b0);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:18px;box-shadow:0 2px 8px rgba(122,118,195,.25);min-height:132px}.stat-top{display:flex;justify-content:space-between;align-items:center}.stat-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);font-weight:900}.stat-value{font-size:clamp(22px,3vw,34px);font-weight:950;letter-spacing:-.04em;margin-top:14px;color:#fff}.stat-label{color:#fff;font-weight:700;font-size:12px}.trend,.status,.tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;white-space:nowrap}.trend.up,.status-ok{background:#d1fae5;color:#047857}.trend.down,.status-danger{background:#fee2e2;color:#b91c1c}.trend.neutral{background:rgba(255,255,255,.12);color:#fff}.status-warn{background:var(--warn-bg);color:var(--warn)}.status-info,.tag{background:#eff6ff;color:#2563eb}.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eef2f7}.list-item:last-child{border-bottom:0}.item-title{font-weight:850}.item-meta{color:var(--muted);font-size:12px}.quick-card,.permission-tile{border:1px solid #e2e8f0;background:#fff;border-radius:18px;padding:14px;text-align:left;transition:.18s;box-shadow:0 8px 22px rgba(15,23,42,.04)}.quick-card:hover{transform:translateY(-3px);border-color:rgba(15,118,110,.32);box-shadow:var(--shadow)}.quick-card h4,.permission-tile h4{margin:12px 0 4px}.quick-card p,.permission-tile p{margin:0;color:var(--muted);font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:#fff}table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px}th,td{padding:11px 12px;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-size:12px;letter-spacing:.03em;white-space:nowrap}td{color:#26364a}tr:hover td{background:#fcfefe}.tabs{display:flex;gap:8px;margin:0 0 16px;background:#edf3f8;padding:6px;border-radius:18px;overflow:auto}.tab{border:0;background:transparent;border-radius:14px;padding:10px 13px;color:var(--muted);font-weight:850;white-space:nowrap}.tab.active{background:#fff;color:var(--primary);box-shadow:0 8px 20px rgba(15,23,42,.08)}.notice,.error-box,.success-box{border-radius:18px;padding:13px 14px;font-weight:700}.notice{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.error-box{background:var(--danger-bg);color:var(--danger);border:1px solid #fecdd3}.success-box{background:var(--ok-bg);color:var(--ok);border:1px solid #bbf7d0}.chart{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 88px;gap:10px;align-items:center}.bar-track{height:14px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-2));min-width:3px}.mini-line{height:160px;display:flex;align-items:flex-end;gap:7px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px}.mini-line span{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--primary-2),var(--primary));min-height:8px}.hidden-cost{filter:blur(4px);user-select:none}.hidden-cost:after{content:"  已隐藏";filter:none;color:var(--muted);font-size:11px}.audit-line{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eef2f7}.module-hero{min-height:250px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#fff,#ecfeff)}.mobile-menu{display:none}.toast{position:fixed;right:22px;bottom:22px;z-index:999;background:#0f172a;color:#fff;padding:13px 16px;border-radius:16px;box-shadow:var(--shadow-lg);animation:slideIn .25s ease}.fade-in{animation:fadeIn .25s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-310px;width:292px;transition:.22s}.sidebar.open{left:0;box-shadow:var(--shadow-lg)}.mobile-menu{display:inline-flex}.hero-grid,.grid-4,.grid-5{grid-template-columns:1fr 1fr}.topbar{padding:12px}.content{padding:16px}.page-head{align-items:flex-start;flex-direction:column}.login-card{grid-template-columns:1fr}.login-visual{min-height:420px}}@media (max-width:720px){.grid-2,.grid-3,.grid-4,.grid-5,.hero-grid{grid-template-columns:1fr}.top-actions .btn-soft,.user-chip small{display:none}.login-panel,.login-visual{padding:26px}.bar-row{grid-template-columns:78px 1fr 66px}.content{padding:12px}.card{padding:14px}.page-title{font-size:28px}}

/* v4 interaction refinements: custom color chips + invite builder */
.card-soft{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,250,252,.88));
  border-radius:22px;
  padding:16px;
}
.card-soft h4{margin:0;color:var(--ink);font-size:14px;font-weight:800}
.chip-x{
  appearance:none;
  border:0;
  margin-left:8px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(15,23,42,.08);
  color:var(--muted);
  cursor:pointer;
  font-weight:800;
  line-height:18px;
  transition:.2s ease;
}
.chip-x:hover{background:rgba(239,68,68,.12);color:#dc2626;transform:scale(1.08)}

/* Sales Data Stat Cards - soft muted style */
.sales-stat { border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; gap: 0; color: #fff; min-height: auto; }
.sales-stat.blue { background: linear-gradient(135deg, #5a67d8, #667eea); }
.sales-stat.teal { background: linear-gradient(135deg, #319795, #4fd1c5); }
.sales-stat.amber { background: linear-gradient(135deg, #c05621, #ed8936); }
.sales-stat.violet { background: linear-gradient(135deg, #6b46c1, #9f7aea); }
.sales-stat.green { background: linear-gradient(135deg, #276749, #48bb78); }
.sales-stat .stat-icon { display: none; }
.sales-stat .stat-value { font-size: 20px; font-weight: 700; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.12); line-height: 1.2; }
.sales-stat .stat-label { font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.88); }
.sales-stat .stat-tag { font-size: 12px; font-weight: 400; color: rgba(255,255,255,0.65); }
/* 销售汇总表 - 展开详情行 */
.detail-row td { padding: 0 !important; background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 20px; padding: 14px 18px; }
.detail-item { display: flex; flex-direction: column; gap: 2px; }
.detail-label { font-size: 11px; color: #94a3b8; font-weight: 700; letter-spacing: 0.03em; }
.detail-value { font-size: 13px; color: #1e293b; font-weight: 600; word-break: break-all; }
.master-row { cursor: default; }
.master-row:hover td { background: #f0fdfa; }
.expand-arrow { font-size: 12px; color: #94a3b8; transition: transform 0.15s; display: inline-block; }

.expand-arrow { font-size: 14px; color: #0f766e; transition: transform 0.15s; display: inline-block; font-weight: bold; }
.master-row td:first-child { cursor: pointer; }
.master-row td:first-child:hover .expand-arrow { color: #0d9488; transform: scale(1.3); }


.sales-top-scroll{height:14px;overflow-x:auto;overflow-y:hidden;border:1px solid #e2e8f0;border-bottom:none;border-radius:18px 18px 0 0;background:#f8fafc}
.sales-data-table{border-radius:0 0 18px 18px !important;max-height:calc(100vh - 300px);overflow-y:auto !important}
.sales-data-table::-webkit-scrollbar{width:6px;height:0 !important}.sales-data-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sales-data-table::-webkit-scrollbar-track{background:transparent}
/* 销售汇总表 - 网格线 + 列宽调整 + 列筛选 */
.sales-data-table table{border-collapse:collapse;min-width:auto}
.sales-data-table th,.sales-data-table td{border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;position:relative;vertical-align:top;padding:6px 10px}
.sales-data-table th:last-child,.sales-data-table td:last-child{border-right:none}
.sales-data-table th{position:sticky;top:0;z-index:2;user-select:none;background:#f8fafc;padding:0;box-shadow:0 1px 0 #e2e8f0}
.sales-data-table th .th-inner{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:4px;min-height:36px}
.sales-data-table th .th-text{font-size:12px;font-weight:700;letter-spacing:.03em;color:#475569;white-space:nowrap}
.sales-data-table th .th-filter-btn{width:18px;height:18px;border:none;background:none;cursor:pointer;color:#94a3b8;font-size:11px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}
.sales-data-table th .th-filter-btn:hover{background:#e2e8f0;color:#0f766e}
.sales-data-table th .th-filter-btn.filtered{color:#0f766e;background:#ccfbf1}
/* 列宽调整手柄 */
.sales-data-table th .resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:3}
.sales-data-table th .resize-handle:hover,.sales-data-table th .resize-handle.active{background:#0f766e}
/* 列筛选下拉 */
.sales-col-filter{position:fixed;z-index:10000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);width:200px;max-height:320px;overflow:hidden;display:flex;flex-direction:column}
.sales-col-filter .filter-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eef2f7;font-size:12px;font-weight:700;color:#475569}
.sales-col-filter .filter-list{overflow-y:auto;flex:1;padding:6px 0}
.sales-col-filter .filter-item{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:12px;cursor:pointer}
.sales-col-filter .filter-item:hover{background:#f8fafc}
.sales-col-filter .filter-item input{width:auto;cursor:pointer}
.sales-col-filter .filter-actions{display:flex;gap:6px;padding:8px 12px;border-top:1px solid #eef2f7}
.sales-col-filter .filter-actions button{flex:1;padding:6px 8px;font-size:11px;border-radius:8px;border:0;cursor:pointer;font-weight:700}
.sales-col-filter .filter-actions .filter-ok{background:var(--primary);color:#fff}
.sales-col-filter .filter-actions .filter-clear{background:#f1f5f9;color:#64748b}
/* 可编辑单元格样式 */
.sales-data-table td.editable { cursor: text; }
.sales-data-table td.editable:hover { background: #f0fdf4 !important; }
.sales-data-table td.editable:focus-within { background: #fff !important; box-shadow: inset 0 0 0 2px #0f766e; }

/* Col manager modal items */
#col-manager-modal .modal-body > div > div > div { transition: all .15s; }
#col-manager-modal .modal-body > div > div > div:hover { box-shadow: 0 0 0 1px var(--primary-2); }

/* 我的销售表 V2 */
.period-selector { display: flex; gap: 6px; margin-bottom: 16px; }
.period-btn { padding: 5px 14px; border: 1px solid #cbd5e0; border-radius: 6px; background: #fff; color: #4a5568; font-size: 12px; cursor: pointer; transition: all .15s; font-weight: 500; }
.period-btn:hover { border-color: #667eea; color: #5a67d8; }
.period-btn.active { background: linear-gradient(135deg, #5a67d8, #667eea); color: #fff; border-color: transparent; font-weight: 600; }

.target-bar-wrap { background: #f7fafc; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; border: 1px solid #e2e8f0; }
.target-bar-header { display: flex; justify-content: space-between; font-size: 12px; color: #718096; margin-bottom: 8px; font-weight: 500; }
.target-bar { height: 8px; background: #e2e8f0; border-radius: 4px; overflow: hidden; }
.target-bar-fill { height: 100%; background: linear-gradient(90deg, #667eea, #4fd1c5); border-radius: 4px; transition: width .5s ease; }

.stat-section-title { font-size: 12px; font-weight: 600; color: #475569; margin: 10px 0 6px; padding-left: 8px; border-left: 3px solid #667eea; }

.my-sales-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
.my-sales-grid.cols-2r { /* 2 rows x 6 cols, all cards in one grid */ }

/* 个人订单明细表 - 15列紧凑 */
.my-orders-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 11px; }
.my-orders-table th { background: #f0f4f8; color: #475569; font-size: 10px; font-weight: 600; padding: 5px 3px; text-align: center; white-space: nowrap; position: sticky; top: 0; border-bottom: 1px solid #e2e8f0; }
.my-orders-table td { padding: 4px 3px; border-bottom: 1px solid #f1f5f9; color: #334155; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; line-height: 1.3; }
.my-orders-table td:nth-child(2) { text-align: left; }
.my-orders-table td:nth-child(15) { text-align: left; }
.my-orders-table tr:hover td { background: #f0f7ff; }
