.toolbar select,
.month-panel select {
  max-width: 180px;
}

.page-head > select {
  max-width: 210px;
}

.field-help {
  display: block;
  margin: -6px 1px 0;
  color: #64748b;
  font-size: 11px;
  line-height: 1.45;
}

.daily-payroll-section {
  margin-top: 16px;
}

.daily-payroll-card {
  overflow: hidden;
  border: 1px solid #dce6ed;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 20px #3341550a;
}

.daily-payroll-card > header,
.daily-payroll-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.daily-payroll-card > header {
  padding: 12px 14px;
  background: #edf8ff;
  color: #24516f;
}

.daily-payroll-card > header span {
  color: #0878ef;
  font-size: 12px;
  font-weight: 800;
}

.daily-payroll-row {
  padding: 12px 14px;
  border-top: 1px solid #e7eef3;
}

.daily-payroll-row small {
  display: block;
  margin-top: 4px;
  color: #718196;
  font-size: 11px;
  line-height: 1.45;
}

.daily-payroll-row > strong {
  color: #0878ef;
  white-space: nowrap;
}

.app-version {
  align-self: center;
  padding: 8px 4px;
  color: #7b8b9a;
  font-size: 11px;
}

.pack-size-block {
  padding: 12px;
  border: 1px solid #dce9f2;
  border-radius: 18px;
  background: #f8fbfe;
}

.pack-size-block + .pack-size-block {
  margin-top: 2px;
}

.pack-size-title {
  display: block;
  margin-bottom: 9px;
  color: #0878ef;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.pack-size-block .product-pack,
.pack-size-block .two {
  margin: 0;
}

.debt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.debt-mode-panel {
  display: grid;
  gap: 15px;
  margin: 0;
}

.entry-badge.debt {
  background: #fff0f1;
  color: #c9232e;
}

.payment-method {
  display: inline-block;
  margin-top: 5px;
  color: #0878ef;
  font-size: 11px;
  font-weight: 750;
}

.report-strip p {
  margin: 5px 0 0;
  color: #718196;
  font-size: 9px;
  line-height: 1.4;
}

select:disabled {
  background: #f1f5f8;
  color: #94a3b8;
}

@media (max-width: 560px) {
  .month-panel select {
    max-width: none;
  }

  .page-head > select {
    max-width: 170px;
  }

  .debt-actions {
    width: 100%;
  }

  .debt-actions .btn {
    flex: 1;
  }
}

/* 3.9.0 — báo cáo đa kỳ & bảng lương trực quan */
.report-heading{align-items:center}.report-heading>strong{color:#0878ef;font-size:15px;text-align:right}.period-filter{display:grid;gap:10px;margin:0 0 15px;padding:8px;border:1px solid #dce7ee;border-radius:20px;background:#fff;box-shadow:0 7px 22px #3341550a}.period-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:4px;border-radius:15px;background:#f1f6fa}.period-tabs button{min-height:38px;border:0;border-radius:12px;background:transparent;color:#64748b;font:inherit;font-size:12px;font-weight:800}.period-tabs button.active{background:#fff;color:#0878ef;box-shadow:0 3px 12px #33415514}.period-inputs{display:flex;justify-content:flex-end;padding:0 4px 4px}.period-inputs>input{width:min(240px,100%)}.custom-range{display:flex;align-items:center;gap:8px;width:100%}.custom-range input{min-width:0;flex:1}.custom-range span{color:#718196;font-size:11px}.period-badge{align-self:center;border-radius:999px;background:#eaf5ff;padding:6px 9px;color:#0878ef;font-size:10px;font-weight:850}.payroll-pro{position:relative;align-items:stretch;padding:0;overflow:hidden}.payroll-rank{display:grid;width:38px;flex:none;place-items:center;background:linear-gradient(180deg,#edf8ff,#f8fbfd);color:#0878ef;font-size:14px;font-weight:900}.payroll-main{flex:1;padding:14px;min-width:0}.payroll-main header{display:flex;align-items:center;justify-content:space-between;gap:10px}.payroll-main header>strong{font-size:17px}.payroll-main header>span{color:#0878ef;font-size:19px;font-weight:900;white-space:nowrap}.payroll-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.payroll-kpis span{border-radius:11px;background:#f4f8fb;padding:8px 5px;text-align:center}.payroll-kpis small{display:block;color:#8291a3;font-size:8px;font-weight:850;letter-spacing:.06em}.payroll-kpis b{display:block;margin-top:3px;color:#18344d;font-size:14px}.payroll-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px}.payroll-breakdown span{display:flex;justify-content:space-between;gap:5px;border:1px solid #e2ebf1;border-radius:10px;padding:7px 8px;color:#66798d;font-size:10px}.payroll-breakdown b{color:#274b68}.payroll-main>p{margin:10px 0 0!important;padding-top:9px;border-top:1px dashed #dce6ed;font-size:10px!important}
@media(max-width:560px){.report-heading{gap:8px}.report-heading>strong{max-width:145px;font-size:12px}.period-filter{border-radius:17px}.period-tabs button{padding:0 5px;font-size:11px}.custom-range{display:grid;grid-template-columns:1fr auto 1fr}.payroll-rank{width:31px}.payroll-main{padding:12px 10px}.payroll-main header>span{font-size:17px}.payroll-breakdown{grid-template-columns:1fr}.payroll-section .section-head{align-items:flex-end}}

/* 3.10.0 — báo cáo điều hành, biểu đồ và quy trình chốt lương */
.period-filter{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}
.report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-4px 0 12px}.report-actions>span{margin-right:auto;color:#718196;font-size:10px}.report-actions .btn{min-height:36px;padding:0 12px;font-size:11px}
.finance-card[data-report-detail]{position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.finance-card[data-report-detail]:hover,.finance-card[data-report-detail]:focus{outline:none;transform:translateY(-2px);box-shadow:0 12px 28px #33415516}.finance-card em{display:block;margin-top:8px;color:#8b9aaa;font-size:8px;font-style:normal}.metric-change{position:absolute;top:15px;right:14px;border-radius:999px;padding:4px 6px;font-size:9px;font-weight:900}.metric-change.good{background:#e7f8ef;color:#087d59}.metric-change.bad{background:#fff0f1;color:#bf2934}.metric-change.neutral{background:#eef3f6;color:#718196}.warning-value{color:#b66a00!important}.section-note{margin:4px 0 0;color:#718196;font-size:10px}
.year-chart-panel{margin:15px 0;padding:16px;border:1px solid #dce7ee;border-radius:20px;background:#fff;box-shadow:0 7px 22px #3341550a}.chart-legend{display:flex;align-items:center;gap:5px;color:#718196;font-size:9px}.chart-legend i{width:8px;height:8px;border-radius:3px;background:#1c8bf2}.chart-legend i+ i{margin-left:5px;background:#13a274}.year-chart{display:grid;grid-template-columns:repeat(12,minmax(38px,1fr));gap:7px;height:220px;margin-top:15px;padding-top:10px;overflow-x:auto}.chart-month{display:grid;grid-template-rows:1fr auto auto;min-width:38px;text-align:center}.chart-bars{display:flex;align-items:flex-end;justify-content:center;gap:3px;min-height:150px;border-bottom:1px solid #dce7ee}.chart-bars i{display:block;width:11px;min-height:0;border-radius:5px 5px 2px 2px}.revenue-bar{background:linear-gradient(180deg,#28a1ff,#0878ef)}.profit-bar{background:linear-gradient(180deg,#3ed6a3,#07936b)}.profit-bar.negative{background:linear-gradient(180deg,#ff8c94,#d83d49)}.chart-month>strong{margin-top:5px;color:#38546d;font-size:9px}.chart-month>small{color:#8493a3;font-size:8px}
.payroll-main header>div{display:flex;align-items:center;gap:7px;min-width:0}.payroll-status{border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;white-space:nowrap}.payroll-status.draft{background:#fff3dc;color:#9a6700}.payroll-status.finalized{background:#eaf5ff;color:#0878ef}.payroll-status.paid{background:#e7f8ef;color:#087d59}.payroll-trip-details{margin-top:10px;border-top:1px dashed #dce6ed}.payroll-trip-details>summary{padding:10px 0 4px;color:#0878ef;font-size:10px;font-weight:800;cursor:pointer}.payroll-trip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf2f5}.payroll-trip strong{font-size:10px}.payroll-trip small{display:block;margin-top:3px;color:#718196;font-size:9px}.payroll-trip>b{color:#0878ef;font-size:11px;white-space:nowrap}.payroll-main>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e9eff3}.payroll-main>footer>small{color:#718196;font-size:8px}.payroll-main>footer>div{display:flex;gap:5px}.payroll-main>footer .btn{min-height:30px;padding:0 8px;font-size:9px}.status-paid{border-color:#bfe9d7}.status-finalized{border-color:#c9e4f9}
.daily-card-pro{display:block;padding:0;overflow:hidden}.daily-card-pro>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;list-style:none;cursor:pointer}.daily-card-pro>summary::-webkit-details-marker{display:none}.daily-card-pro>summary>div:last-child{text-align:right}.daily-card-pro>summary p{margin:3px 0 0;color:#718196;font-size:10px}.daily-card-pro>summary small{color:#718196;font-size:9px}.daily-card-pro>summary div:last-child>strong{display:block;margin-top:4px}.daily-expanded{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:12px;border-top:1px solid #e5edf2;background:#f8fbfd}.daily-expanded span{display:flex;justify-content:space-between;gap:8px;color:#718196;font-size:9px}.daily-expanded b{color:#24445e}.report-detail-content{display:grid;gap:0;border:1px solid #dfe9ef;border-radius:16px;overflow:hidden}.detail-period{padding:10px 12px;background:#edf7ff;color:#0878ef;font-size:11px;font-weight:850}.report-detail-content>div:not(.detail-period){display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-top:1px solid #e7eef3}.report-detail-content span{color:#64788c;font-size:11px}.report-detail-content strong{font-size:13px}
@media(max-width:560px){.period-filter{top:0}.report-actions{display:grid;grid-template-columns:1fr 1fr}.report-actions>span{grid-column:1/-1}.report-actions .btn{width:100%}.metric-change{top:12px;right:11px}.finance-card em{display:none}.year-chart-panel{padding:13px}.year-chart{grid-template-columns:repeat(12,42px);height:205px}.chart-bars{min-height:138px}.payroll-main header{align-items:flex-start}.payroll-main header>div{align-items:flex-start;flex-direction:column;gap:4px}.payroll-main>footer{align-items:flex-start;flex-direction:column}.payroll-main>footer>div,.payroll-main>footer .btn{width:100%}.daily-card-pro>summary{align-items:flex-start;flex-direction:column}.daily-card-pro>summary>div:last-child{text-align:left}.daily-expanded{grid-template-columns:1fr}}
@media print{body.print-report{background:#fff}.print-report .header,.print-report .tabs,.print-report #overview,.print-report #deliveries,.print-report #debts,.print-report #customers,.print-report #operations,.print-report #team,.print-report footer,.print-report .period-filter,.print-report .report-actions,.print-report dialog,.print-report #toast{display:none!important}.print-report .shell{width:100%;max-width:none;margin:0;padding:0}.print-report #reports{display:block!important}.print-report .report-details{display:block!important}.print-report .report-details>summary{display:none}.print-report .finance-card,.print-report .report-strip,.print-report .payroll-card,.print-report .daily-card,.print-report .year-chart-panel{break-inside:avoid;box-shadow:none}.print-report .payroll-status-action{display:none}.print-report .report-columns{grid-template-columns:1fr}.print-report .finance-grid{grid-template-columns:repeat(4,1fr)}}
.payroll-status.changed{background:#fff0f1;color:#bf2934}.status-changed{border-color:#f2c6ca}.payroll-status.reference{background:#eef3f6;color:#64748b}

/* 3.10.1 — vá ổn định và tinh chỉnh hiển thị di động */
#reports.is-loading .period-filter{cursor:progress}#reports.is-loading .finance-grid,#reports.is-loading .report-strip{opacity:.62;transition:opacity .18s ease}.finance-card[data-report-detail]>small:first-child{display:block;padding-right:48px;line-height:1.3}.period-inputs input{min-height:42px}.report-strip>div:nth-child(2) strong.warning-value{color:#b66a00}.payroll-main>footer>div{flex-wrap:wrap}
@media(max-width:560px){.finance-card[data-report-detail]>small:first-child{padding-right:42px}.payroll-main>footer>div{flex-direction:column}.payroll-main>footer>div .btn{width:100%}.report-strip strong{overflow-wrap:anywhere}.report-heading h2{line-height:1.15}}
