:root { --shop-accent:#ef713e; --shop-accent-dark:#db5b29; --shop-blue:#5264df; --shop-ink:#253047; --shop-muted:#7b8597; --shop-bg:#f5f6f9; --shop-border:#e9ecf2; }
body.gray-bg, .gray-bg { background:var(--shop-bg); color:var(--shop-ink); }
body { font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; }
.btn { border-radius:6px; transition:background .15s,box-shadow .15s; }
.btn-primary, .btn-primary:focus { background:var(--shop-accent); border-color:var(--shop-accent); }
.btn-primary:hover, .btn-primary:active, .btn-primary.active { background:var(--shop-accent-dark) !important; border-color:var(--shop-accent-dark) !important; }
.btn-default { color:#526074; background:#fff; border-color:#dfe4ed; }
.form-control { border-radius:6px; border-color:#dce1eb; box-shadow:none; }
.form-control:focus { border-color:var(--shop-accent); box-shadow:0 0 0 3px rgba(239,113,62,.1); }
.search-collapse, .select-table, .ibox-content { border:1px solid var(--shop-border); border-radius:12px; box-shadow:0 2px 8px rgba(33,43,64,.025); }
.search-collapse { padding:18px 20px; }
.search-collapse h3 { font-size:18px; font-weight:600; color:var(--shop-ink); }
.search-collapse p { color:var(--shop-muted); }
.table>thead>tr>th { background:#fafbfe; color:#6f7a8e; border-bottom:1px solid var(--shop-border); font-weight:500; }
.table>tbody>tr>td { border-color:#edf0f5; vertical-align:middle; }
.table-hover>tbody>tr:hover, .table>tbody>tr.selected { background:#fff7f2; }
.pagination>.active>a, .pagination>.active>a:hover { background:var(--shop-accent); border-color:var(--shop-accent); }
.erp-commerce .navbar-static-side { background:#20283d !important; width:220px; }
.erp-commerce #page-wrapper { margin-left:220px; display:flex; flex-direction:column; height:100%; padding:0; }
.erp-commerce #page-wrapper>.row { margin-left:0; margin-right:0; }
.erp-commerce #page-wrapper>.border-bottom { flex:none; }
.erp-commerce #content-main { flex:1 1 auto; height:auto !important; min-height:0; width:100%; }
.erp-commerce #content-main.max { height:100% !important; }
.erp-commerce .content-tabs, .erp-commerce .footer { flex:none; margin:0; }
.erp-commerce .navbar-header { height:60px; }
.erp-commerce .sidebar-collapse { background:#20283d !important; }
.erp-commerce .logo { width:220px; height:60px; line-height:60px; background:#20283d !important; color:#fff; border-bottom:1px solid rgba(255,255,255,.07); font-weight:600; }
.erp-commerce .logo-lg { font-size:18px; }
.erp-commerce .logo-lg::before { content:""; display:inline-block; width:9px; height:20px; border-radius:4px; background:var(--shop-accent); margin-right:9px; vertical-align:-3px; }
.erp-commerce .user-panel { padding:20px 15px; background:#20283d; color:#e4e8f2; }
.erp-commerce .user-panel .info p { color:#fff; }
.erp-commerce .user-panel .info { max-width:145px; }
.erp-commerce .user-panel .info p { overflow:hidden; text-overflow:ellipsis; }
.erp-commerce .user-panel .info>a { color:#a8b2ca; }
.erp-commerce .sidebar-collapse .nav>li>a { color:#aeb8d0 !important; font-weight:400; margin:4px 10px; border-radius:7px; padding:12px 14px; background:transparent; }
.erp-commerce .sidebar-collapse .nav>li>a:hover, .erp-commerce .sidebar-collapse .nav>li.active>a { color:#fff !important; background:#303b56 !important; }
.erp-commerce .sidebar-collapse .nav>li.active { border:0; background:transparent !important; }
.erp-commerce .sidebar-collapse .nav .nav-second-level { background:transparent !important; }
.erp-commerce .sidebar-collapse .nav .nav-second-level a { margin:2px 10px; padding:10px 12px 10px 38px; border-radius:7px; font-size:13px; }
.erp-commerce .sidebar-collapse a.active, .erp-commerce .sidebar-collapse .nav a.menuItem.active { color:#ffae82 !important; background:#3b3542 !important; }
.erp-commerce .sidebar-collapse a>i { color:#98a4c5; width:18px; }
.erp-commerce .sidebar-collapse li.active>a>i { color:#ffac7c; }
.erp-commerce .navbar-static-top { min-height:60px; background:#fff !important; border-bottom:1px solid var(--shop-border); }
.erp-commerce .navbar-top-links>li>a, .erp-commerce .navbar-header .navbar-minimalize { color:#626e83 !important; background:transparent !important; }
.erp-commerce .navbar-top-links>li>a:hover { color:var(--shop-accent) !important; }
.erp-commerce .navbar-top-links.welcome-message { display:flex; align-items:center; }
.erp-commerce.erp-topnav .navbar-static-top { display:flex; align-items:stretch; }
.erp-topnav #navMenu { flex:1; min-width:0; overflow-x:auto; scrollbar-width:thin; }
.erp-topnav #navMenu .nav-tabs { display:flex; flex-wrap:nowrap; float:none !important; width:max-content; border:0; }
.erp-topnav #navMenu .nav-tabs>li { flex:none; }
.erp-topnav #navMenu .nav-tabs>li>a { color:#7d879c !important; background:transparent !important; padding:20px 13px; font-size:12px; }
.erp-topnav #navMenu .nav-tabs>li.active>a { color:var(--shop-accent) !important; border-bottom:2px solid var(--shop-accent); }
.erp-commerce.erp-topnav .navbar-top-links { flex:none; float:none !important; }
.erp-commerce .content-tabs { background:#fff; border-bottom:1px solid var(--shop-border); box-shadow:none; }
.erp-commerce .page-tabs a { color:#8a93a4; background:#fff; }
.erp-commerce .page-tabs a.active { color:var(--shop-accent); background:#fff4ed; border-bottom:2px solid var(--shop-accent); }
.erp-commerce .content-tabs .page-tabs a.menuTab.active { color:var(--shop-accent) !important; background:#fff4ed !important; border-bottom:2px solid var(--shop-accent); }
.erp-commerce .footer { color:#929aab; border-top:1px solid var(--shop-border); background:#fff; }
body.erp-commerce.mini-navbar .navbar-static-side { width:70px; }
body.erp-commerce.mini-navbar #page-wrapper { margin-left:70px; }
body.erp-commerce.canvas-menu .navbar-static-side { width:220px; }
@media(max-width:768px) { .erp-commerce #page-wrapper { margin-left:0; } .erp-commerce .navbar-static-side { width:220px; } .erp-commerce .navbar-top-links>li>a { padding:20px 10px; } }
@media(max-width:600px) { .erp-commerce .navbar-top-links>li:nth-child(2), .erp-commerce .navbar-top-links>li:nth-child(3) { display:none; } .erp-commerce .navbar-static-top { display:flex; justify-content:space-between; } .erp-commerce .navbar-top-links { float:none !important; margin:0; } }

body.signin { background:#f5f6f9 !important; color:#253047; }
.signin .signinpanel { max-width:1000px; width:90%; margin:12vh auto 0; }
.signin .signin-info { padding:36px 30px 30px 0; }
.signin .signin-info h1 { color:#253047; font-size:36px; font-weight:600; line-height:1.5; margin:20px 0; }
.signin .signin-info p { color:#929caf; max-width:350px; font-size:14px; line-height:2; }
.signin .signin-brand { letter-spacing:2px; color:var(--shop-accent); font-size:12px; }
.signin .signinpanel form { background:#fff; color:#536075; padding:32px; border:1px solid #e5e9f1; border-radius:14px; box-shadow:0 12px 36px rgba(35,45,67,.06); }
.signin .signinpanel form h4 { font-weight:600; color:#34405a; margin-bottom:20px !important; font-size:20px; }
.signin .signinpanel .form-control { height:42px; border-radius:7px; margin-top:14px; }
.signin #btnSubmit { background:var(--shop-accent); border-color:var(--shop-accent); border-radius:7px; height:42px; margin-top:20px; }
@media(max-width:768px){.signin .signinpanel{margin:5vh auto}.signin .signin-info{padding:10px 0 20px}.signin .signin-info h1{font-size:26px}.signin .signin-info p{font-size:12px}}

.dashboard-shell { max-width:1600px; margin:0 auto; padding:26px 28px 36px; }
.dashboard-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.dashboard-eyebrow { font-size:11px; letter-spacing:2px; font-weight:600; color:var(--shop-accent); margin-bottom:9px; }
.dashboard-hero h1 { margin:0 0 10px; font-size:25px; font-weight:600; line-height:1.4; }
.dashboard-hero p, .panel-note { margin:0; color:var(--shop-muted); font-size:12px; line-height:1.8; }
.role-chip { display:inline-block; padding:5px 10px; background:#fff0e7; color:#d76a36; border-radius:6px; font-size:11px; margin-left:12px; vertical-align:middle; font-weight:400; }
.hero-actions { display:flex; gap:10px; white-space:nowrap; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.metric-card { display:flex; justify-content:space-between; gap:12px; padding:20px; border:1px solid var(--shop-border); border-radius:12px; background:#fff; min-height:127px; }
.metric-label { color:#808a9e; font-size:12px; }
.metric-value { font-size:30px; line-height:1.2; margin:10px 0 8px; font-weight:600; letter-spacing:-.6px; color:#222d43; }
.metric-caption { color:#a0a8b7; font-size:11px; }
.metric-icon { display:grid; place-items:center; width:42px; height:42px; flex:none; border-radius:11px; font-size:19px; background:#fff1e8; color:var(--shop-accent); }
.metric-card:nth-child(2) .metric-icon { background:#eef0ff; color:#6875df; }
.metric-card:nth-child(3) .metric-icon { background:#eaf8f2; color:#45a98a; }
.metric-card:nth-child(4) .metric-icon { background:#fff6dc; color:#d2a137; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr); gap:20px; margin-bottom:20px; }
.analytics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:20px; }
.dashboard-panel { background:#fff; border:1px solid var(--shop-border); border-radius:12px; padding:22px; min-width:0; }
.panel-heading-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.panel-heading-row h2 { font-size:15px; font-weight:600; margin:0; line-height:1.6; }
.panel-heading-row a { font-size:12px; color:var(--shop-accent); }
.chart { height:300px; width:100%; }
.chart.small-chart { height:270px; }
.shortcut-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:20px; }
.shortcut { border:1px solid #edf0f5; background:#fff; border-radius:9px; padding:15px 8px; color:#596579; text-align:center; display:block; }
.shortcut:hover { color:var(--shop-accent); border-color:#f6cbb5; background:#fffaf7; }
.shortcut i { display:block; margin-bottom:10px; color:#7784c7; font-size:21px; }
.shortcut span { font-size:12px; }
.task-list { margin:16px 0 0; padding:0; list-style:none; }
.task-list li { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid #f0f2f6; font-size:12px; color:#6b768a; }
.task-list li:last-child { border:0; }
.task-list strong { font-weight:600; color:#343f55; background:#f5f6fa; border-radius:5px; min-width:32px; padding:3px 8px; text-align:center; }
.status-pill { display:inline-block; padding:4px 9px; font-size:11px; border-radius:5px; background:#eef1ff; color:#6877c2; white-space:nowrap; }
.status-pill.done { background:#eaf7ef; color:#429c70; }
.status-pill.warning { background:#fff2e5; color:#d8833d; }
.dashboard-table { width:100%; margin-top:18px; font-size:12px; }
.dashboard-table th { color:#8a94a5; font-weight:400; background:#fafbfe; padding:12px; white-space:nowrap; }
.dashboard-table td { padding:14px 12px; border-bottom:1px solid #f0f2f6; color:#657084; }
.dashboard-table .product-cell { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#34405a; }
.table-scroll { overflow-x:auto; }
.empty-state { padding:40px 18px; text-align:center; color:#99a2b2; font-size:12px; }
.dashboard-error { display:none; padding:14px 18px; border:1px solid #f2c9b5; background:#fff5ef; border-radius:8px; margin-bottom:18px; color:#a9552f; }
.filter-bar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin-bottom:20px; padding:18px 20px; background:#fff; border:1px solid var(--shop-border); border-radius:12px; }
.filter-field { display:flex; flex-direction:column; gap:7px; font-size:11px; color:#7c879b; }
.filter-field input, .filter-field select { min-width:145px; height:34px; font-size:12px; }
.range-presets { display:flex; gap:6px; margin-right:auto; }
.range-presets .selected { color:var(--shop-accent); background:#fff2e8; border-color:#f7d2be; }
.cost-card { display:inline-flex; gap:20px; margin:12px 20px 0 0; padding:12px 16px; background:#fafbfe; border-radius:8px; font-size:12px; color:#8490a4; }
.cost-card strong { display:block; font-size:20px; margin-top:6px; color:#34405a; font-weight:600; }
.home-mode-employee .dashboard-eyebrow { color:var(--shop-blue); }
.home-mode-employee .role-chip { color:#6674cd; background:#edf0ff; }
@media(max-width:1100px) { .dashboard-grid { grid-template-columns:minmax(0,1fr); } .metric-grid { gap:12px; } .metric-card { padding:16px; } }
@media(max-width:700px) { .dashboard-shell { padding:18px 14px; } .dashboard-hero { align-items:flex-start; flex-direction:column; gap:12px; } .dashboard-hero h1 { font-size:21px; } .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .metric-value { font-size:26px; } .metric-icon { width:32px; height:32px; font-size:15px; } .analytics-grid { grid-template-columns:minmax(0,1fr); } .dashboard-panel { padding:16px; } .shortcut-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .filter-field { flex:1; } .chart { height:260px; } }
