.summary-analysis-page { --summary-ink:#10233f; --summary-muted:#66758a; --summary-line:#e5ebf2; --summary-blue:#2563eb; --summary-teal:#0f766e; --summary-amber:#b45309; --summary-red:#b42318; padding-bottom:40px; }
.summary-toolbar { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; padding:14px 16px; margin:0 0 12px; background:#fff; border:1px solid var(--summary-line); border-radius:10px; }
.summary-period-tabs { display:flex; gap:4px; padding:3px; background:#f1f5f9; border-radius:8px; }
.summary-period-tab { border:0; background:transparent; color:#64748b; padding:7px 16px; border-radius:6px; font-weight:600; cursor:pointer; }
.summary-period-tab.active { color:#fff; background:#1e5eb7; box-shadow:0 1px 2px #1e5eb733; }
.summary-date-field { display:grid; gap:4px; min-width:150px; color:var(--summary-muted); font-size:12px; font-weight:600; }
.summary-date-field input,.summary-date-field select { min-height:36px; border:1px solid #d7e0ea; border-radius:7px; padding:0 9px; color:var(--summary-ink); background:#fff; }
.summary-week-fields { display:flex; gap:10px; align-items:flex-end; }
.summary-week-fields .summary-date-field { min-width:130px; }
#summaryWeekField { display:none; }
.summary-period-caption { color:var(--summary-muted); font-size:12px; margin:0 2px 14px; }
.summary-insight { padding:12px 14px; margin-bottom:14px; color:#17345f; background:#eef5ff; border:1px solid #cfe0ff; border-left:4px solid #2d6cdf; border-radius:8px; line-height:1.65; }
.summary-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.summary-kpi { min-height:104px; padding:14px 15px; background:#fff; border:1px solid var(--summary-line); border-top:3px solid #94a3b8; border-radius:9px; box-shadow:0 2px 8px #1d355708; }
.summary-kpi span { display:block; color:var(--summary-muted); font-size:12px; font-weight:600; }
.summary-kpi strong { display:block; margin:8px 0 4px; color:var(--summary-ink); font-size:24px; line-height:1.1; }
.summary-kpi small { display:block; color:#7c8b9d; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.summary-kpi.kpi-reg { border-top-color:#2563eb; }.summary-kpi.kpi-recharge { border-top-color:#0f766e; }.summary-kpi.kpi-revenue { border-top-color:#16a34a; }.summary-kpi.kpi-cost { border-top-color:#d97706; }.summary-kpi.kpi-profit { border-top-color:#7c3aed; }.summary-kpi.kpi-risk { border-top-color:#dc2626; }
.summary-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:14px; margin-bottom:14px; }
.summary-grid-wide { grid-template-columns:minmax(0,1.5fr) minmax(310px,.8fr); }
.summary-card { min-width:0; background:#fff; border:1px solid var(--summary-line); border-radius:10px; padding:16px; box-shadow:0 2px 10px #1d355708; }
.summary-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.summary-card h2 { margin:0; color:var(--summary-ink); font-size:16px; line-height:1.35; }.summary-card-head p { margin:4px 0 0; color:var(--summary-muted); font-size:12px; line-height:1.5; }
.summary-badge { flex:0 0 auto; padding:4px 8px; color:#45617f; background:#f1f5f9; border-radius:999px; font-size:11px; white-space:nowrap; }
.summary-trend { display:grid; gap:7px; max-height:430px; overflow:auto; padding-right:3px; }
.summary-trend-row { display:grid; grid-template-columns:76px minmax(90px,1fr) 72px 72px; align-items:center; gap:9px; min-height:28px; font-size:11px; }
.summary-trend-date { color:#596b82; }.summary-trend-bar { position:relative; height:8px; background:#f1f5f9; border-radius:5px; overflow:hidden; }.summary-trend-bar i { display:block; height:100%; border-radius:5px; }.summary-trend-bar.reg i { background:#4f83df; }.summary-trend-bar.money i { background:#14a39a; }
.summary-trend-num { text-align:right; color:#3f5269; font-variant-numeric:tabular-nums; }.summary-trend-profit { text-align:right; font-variant-numeric:tabular-nums; }.summary-trend-profit.pos { color:#16803b; }.summary-trend-profit.neg { color:#b42318; }
.summary-trend-legend { display:flex; gap:12px; margin-top:10px; color:#708096; font-size:11px; }.summary-trend-legend i { display:inline-block; width:8px; height:8px; margin-right:4px; border-radius:50%; }.summary-trend-legend .reg { background:#4f83df; }.summary-trend-legend .money { background:#14a39a; }
.summary-hour-chart { display:grid; grid-template-columns:repeat(12,minmax(16px,1fr)); gap:5px; align-items:end; height:230px; padding:10px 2px 22px; border-bottom:1px solid #dce4ed; }.summary-hour-col { position:relative; height:100%; display:flex; align-items:flex-end; justify-content:center; }.summary-hour-col i { display:block; width:100%; max-width:24px; min-height:2px; background:linear-gradient(180deg,#356ed0,#8db4f5); border-radius:4px 4px 0 0; }.summary-hour-col span { position:absolute; bottom:-20px; color:#75869c; font-size:10px; }.summary-hour-col b { position:absolute; top:-15px; color:#4a5d74; font-size:10px; font-weight:500; }
.summary-table-wrap { overflow:auto; }.summary-table { width:100%; border-collapse:collapse; font-size:12px; color:#40536a; }.summary-table th { padding:8px 7px; color:#718196; background:#f8fafc; border-bottom:1px solid var(--summary-line); text-align:left; font-weight:600; white-space:nowrap; }.summary-table th.sortable-summary { cursor:pointer; user-select:none; }.summary-table th.sortable-summary:hover { color:#1e5eb7; background:#eef5ff; }.summary-sort-ind { display:inline-block; margin-left:4px; color:#99a7b7; font-size:11px; }.summary-table th[aria-sort="ascending"] .summary-sort-ind,.summary-table th[aria-sort="descending"] .summary-sort-ind { color:#1e5eb7; }.summary-table td { padding:9px 7px; border-bottom:1px solid #eef2f6; white-space:nowrap; }.summary-table .num { text-align:right; font-variant-numeric:tabular-nums; }.summary-table tbody tr:last-child td { border-bottom:0; }.summary-table tbody tr:hover td { background:#f8fbff; }
.summary-table .rank { display:inline-grid; place-items:center; width:21px; height:21px; margin-right:5px; color:#385471; background:#eaf1f8; border-radius:50%; font-size:11px; }.summary-table .rank.top { color:#fff; background:#d19732; }.summary-table .positive { color:#16803b; }.summary-table .negative { color:#b42318; }
.summary-share { display:flex; align-items:center; gap:6px; min-width:100px; }.summary-share-track { flex:1; min-width:42px; height:6px; background:#edf2f7; border-radius:4px; overflow:hidden; }.summary-share-track i { display:block; height:100%; background:#4c78c8; border-radius:4px; }.summary-share em { min-width:34px; color:#687b91; font-style:normal; text-align:right; }
.summary-subtitle { margin:15px 0 7px; color:#5d7189; font-size:12px; font-weight:700; }.summary-channel-list { display:grid; gap:7px; max-height:220px; overflow:auto; }.summary-channel-row { display:grid; grid-template-columns:minmax(130px,1fr) 84px 82px; gap:8px; align-items:center; font-size:12px; }.summary-channel-row small { display:block; color:#8997a8; font-size:10px; margin-top:2px; }.summary-channel-row .bar { height:6px; background:#edf2f7; border-radius:4px; overflow:hidden; }.summary-channel-row .bar i { display:block; height:100%; background:#6da88a; }
.summary-expense-list,.summary-penalty-list,.summary-failure-list,.summary-conclusion-list { display:grid; gap:8px; }.summary-expense-row { display:grid; grid-template-columns:92px 1fr 75px; gap:8px; align-items:center; font-size:12px; }.summary-expense-row .bar,.summary-failure-row .bar { height:7px; background:#f0f3f6; border-radius:4px; overflow:hidden; }.summary-expense-row .bar i { display:block; height:100%; background:#d38a3e; border-radius:4px; }.summary-expense-row strong,.summary-penalty-row strong { text-align:right; font-weight:600; color:#43566c; }.summary-penalty-row { display:flex; justify-content:space-between; gap:8px; padding:7px 9px; background:#fff8ed; border:1px solid #f9e2be; border-radius:6px; font-size:12px; }.summary-penalty-row span { color:#79551f; }.summary-penalty-row small { color:#a57a3c; }
.summary-employee-card { margin-bottom:14px; }.summary-employee-table th,.summary-employee-table td { padding-top:10px; padding-bottom:10px; }.summary-status { color:#47708f; }.summary-status.left { color:#9a6a36; }.summary-status .risk { color:#b42318; }.summary-income { color:#6b3bb4; font-weight:600; }.summary-employee-table .name-cell { min-width:120px; }.summary-employee-table .sub { display:block; color:#8291a3; font-size:10px; margin-top:2px; }
.summary-failure-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }.summary-failure-filters label { display:grid; gap:4px; color:#66758a; font-size:11px; font-weight:600; }.summary-failure-filters select { min-height:32px; min-width:130px; border:1px solid #d7e0ea; border-radius:6px; padding:0 8px; color:var(--summary-ink); background:#fff; }.summary-failure-row { display:grid; grid-template-columns:1fr 52px; gap:8px; align-items:center; font-size:12px; }.summary-failure-main { display:grid; gap:4px; }.summary-failure-main span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#5f7085; }.summary-failure-row .bar i { display:block; height:100%; background:#dc6b58; border-radius:4px; }.summary-failure-row strong { color:#a33d32; text-align:right; }.summary-analysis-text { margin-bottom:10px; padding:10px 12px; color:#425a72; background:#f5f8fb; border-left:3px solid #4c86b8; border-radius:5px; font-size:12px; line-height:1.7; }.summary-analysis-text p { margin:0; }
@media (max-width:1100px) { .summary-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.summary-grid-wide,.summary-grid { grid-template-columns:1fr; } }
@media (max-width:680px) { .summary-analysis-page { padding:0 2px 26px; }.summary-toolbar { align-items:stretch; }.summary-period-tabs { width:100%; }.summary-period-tab { flex:1; }.summary-date-field { flex:1; min-width:135px; }.summary-toolbar .btn { flex:1; }.summary-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.summary-kpi { min-height:96px; padding:12px; }.summary-kpi strong { font-size:20px; }.summary-kpi small { font-size:10px; }.summary-card { padding:13px 11px; }.summary-trend-row { grid-template-columns:65px minmax(70px,1fr) 55px 58px; gap:6px; font-size:10px; }.summary-table { min-width:780px; }.summary-employee-card .summary-table { min-width:1120px; }.summary-hour-chart { height:190px; } }
@media print { .admin-sidebar,.admin-nav,.admin-content-head,.summary-toolbar,.admin-module-search { display:none!important; }.admin-content-scroll { overflow:visible!important; }.summary-analysis-page { display:block!important; }.summary-card,.summary-kpi { box-shadow:none; break-inside:avoid; }.summary-grid { grid-template-columns:1fr 1fr; }.summary-grid-wide { grid-template-columns:1.5fr .8fr; } }

.summary-employee-table .summary-total-row td { background:#f8fafc; border-top:2px solid #d7e2ee; font-weight:600; }
