.gst-period-bar {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 18px;
  padding: 13px 16px;
}
.gst-period-bar > div { display: grid; gap: 5px; }
.gst-period-bar label { color: var(--muted); font-size: 10px; font-weight: 700; }
.gst-period-bar input { border: 1px solid var(--line); border-radius: 6px; padding: 8px; font: 12px 'DM Sans'; }
.gst-period-bar .status { margin-left: auto; margin-bottom: 7px; }
.gst-readiness { display: grid; grid-template-columns: minmax(230px,.7fr) 1.3fr; gap: 20px; padding: 16px 18px; margin: 0 0 18px; border-radius: 9px; border: 1px solid; }
.gst-readiness.ready { background: #edf9f5; border-color: #bce5d9; }
.gst-readiness.needs-action { background: #fff8ea; border-color: #efd9a6; }
.gst-readiness b { font: 700 14px Manrope; }
.gst-readiness p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.gst-readiness ul { margin: 0; padding-left: 18px; color: #6a5933; font-size: 11px; line-height: 1.7; }
.gst-readiness.ready ul { color: #397363; }
.gst-grid { grid-template-columns: minmax(0,1.7fr) minmax(260px,.65fr); margin-bottom: 18px; }
.gst-section { margin-top: 18px; }
.gst-section select { min-width: 118px; }
.gst-section table { min-width: 760px; }
.gst-section { overflow-x: auto; }
.gst-grid .table-card { overflow-x: auto; }
@media (max-width: 900px) {
  .gst-readiness, .gst-grid { grid-template-columns: 1fr; }
  .gst-period-bar { flex-wrap: wrap; }
  .gst-period-bar .status { margin-left: 0; }
}
